Given the list of algorithms you provided, these falls under 3 major classification of ML algorithms.
1) Classification Algorithms - Naive Bayes Classification, Decision Tree, Random Forest, kNN, Support Vector Machine (SVM), Neural Networks, etc.
2) Regression Algorithms - Linear Regression, Logistic Regression, Lasso Regression, etc.
(Note: Although Logistic Regression has Regression in its name, it is essentially a classification algorithm.
3) Clustering Algorithms - K-Means Clustering, Fuzzy C Means, Mixture of Gaussian, etc.
You might also be knowing there are 4 types of ML algorithms:
1) Supervised Learning
2) Unsupervised Learning
3) Reinforcement Learning
4) Semi-supervised Learning
Among these 4. first and second are the most important ones.
Supervised Learning is applied when we have a labelled data set i.e., we already our output variable/dependent variable. For example, a data set which contains the size of the house (independent variable) and corresponding house price (dependent variable). We can predict the house price of new data points with respect to the size of the house. Another example is, determining if a tumor is harmful or not harmful when we already have a list of tumors which are harmful or not.
In supervised learning we know the problem statement and have all the necessary features to get answer.
In Unsupervised Learning, we do not have labelled data. We do not have any output variable. We do not know the problem statement. It is applied when we need to find a structure in the data set and extract meaningful insights out of it. For example, a data set of Walmart containing its customer's buying pattern. Given this, Walmart will ask its data scientists to extract some meaning. The data scientist may choose to apply K-Means Clustering and find how customers are segmented. Group A customers -- buys X,Y,Z products; Group B customers -- buys U,V,X products.
Classification and regression algorithms are used when dealing with a supervised learning problem and clustering algorithms are used when dealing with unsupervised learning.
Now coming back to your original query,
1) Naive Bayes -- best applied to a data set containing multiple features (independent variable) and an output variable which takes two discrete value (Yes/No). Thus, categorical data.
2) SVM -- best applied to a data set containing infinite number of features and you need to reduce these features down to a number so that it can be computed. Since it's a classification algorithm so it best works upon categorical data.
3) Regression -- Linear Regression is applied to a continuous numerical data set in which the dependent and independent variable exhibits linear relationship. For example, size of the house vs house price. Logistic Regression is a classification algorithm so it is best applied to categorical data.
3) K-Means -- K-Means can applied to many types of data sets. What it does is segmenting data points into clusters. Data points with similar features are clustered together.
4) Neural Networks -- Neural Networks can be shallow neural networks and deep neural networks and both of these could be applied to supervised or unsupervised problem as it has separate algorithms for both the cases. It is the most powerful and popular class of ML algorithms. It can be used in every problem statement. Main intuition behind it learning from its own error. I do not have much knowledge about neural network so I will not write further more.
If you want to learn more about ML and Neural Network you can apply for Machine Learning by Andrew Ng class. It's the best course out there for beginners like us.