When I have to make a decision like this there are a few things I do.
First, narrow the field a bit by looking at the projects themselves.
Find their GitHub project (or wherever they are hosted). When was the last commit? If it's months, is there activity in other branches? If there is none, is it feature complete? Take a look at the project issues and pull requests to get an idea of the kinds of problems people are having. Does the project have lots of contributors? Have many people starred it? These are a good indication of a projects popularity and its acceptance by the community in general. Also do a Google search for "<project name> issue" (or problem, or other words that might be appropriate for someone having issues with that project - perhaps "syntax" and "parse" might be good additions for a template engine). Be sure to check Stack Overflow too. You'd be surprised how much you can learn about a project at this point without actually having used it yet.
Then, once I've got a shorter list I'll narrow them down if I need to by features - do any of the projects have any unique features I could make use of? Are there any glaring omissions?
Finally, I'll try them out in turn, starting with a simple contrived mini project that exposes some of its features. It's worth seeing this process through to the end and trying all the options.