And don't get me started on the UI itself. I mean, it seems to be based on Excel! That is such a satanic idea that it baffles me. How can they get away with such a stupid tool, year after year?
Well, not only did Microsoft base a a large chunk of the UI on Excel, several of the good features of Excel seem to have disappeared in the process! For instance, Project has only one level of undo. This is thoroughly inexcusable in a modern desktop application. Other functions are tacked-on and kludgy - like PERT charts and the whole Duration1, Duration2, Duration3 ... Duration9 thing.
On the other hand, Project is the product by which every other in the class is judged. Some competitors are better at particular tasks, some are cheaper, and some are both. But Project is good mix - not the most expensive and not the least. It can do a reasonable job of small projects, large projects and everything in between.
Another neat thing about Project is that it exposes its data model via ActiveX, so you can script it in VBA (or Python!). Last year I wrote a set of macros to take milestone dates from plans, plonk them into a spreadsheet and then graph how those milestones moved over time. Very effective at making any "planned slippages" visible to upper management.
Overall, MS Project is a comprehensive, competent offering. Sure it has some kludginess, gaps and obvious hangovers from earlier versions, but it works, has industry mind-share and is widely used.
Which is what many people say about Java.