1. The data and their distribution. We know some algorithms are more tolerant than others.
2. Which kind of transformation I could perform if possible
3. Type of problem supervise or unsupervised
4. Which kind of infrastructure do I have or can I have access to AWS for example. This is more relevant to the tuning of the model and the processing time for example if you have 300 variables let say on half million observations and you tune the mtry with multiple folds using random forest as example... well you time for a cup of coffee
5. The last one can I conduct the final optimisation. Some algorithms demand good knowledge to achieve the best tuning.
I am sure there are other criteria and then when you have all you pick up a book such as Applied Predictive Modelling and review each algorithms with you answers.