What does the software or service do well? Microsoft Project is an extremely flexible, allowing you to manage any project size and almost any project complexity. You can have budgets, resources (even partially allocated), project risks, team calendar (shared), file sharing, different views of the project timeline (you can choose which one you like best) etc. Personally I love the default visual display of the timeline and the gantt charts, together with the integration with Project Server, allowing me to share the plan with the team, stakeholders or peers in the company (useful when not everyone has Microsoft Project Installed).
What does the software or service not do well? Flexibility and adaptability to your needs of course comes with a cost: not only the software license cost, which is not negligible for small businesses but also with a steep learning curve (to use the software at its full potential). One thing people have to pay attention to is when the project becomes more complex with many dependencies between tasks, maybe partial resources (shared between projects) etc, a simple change can have a dramatic impact to the overall schedule and create a mess.
What do you wish you had known about the software or service before using? At the time when we purchased Microsoft Project and started using it for our software projects, we did not have a viable alternative that would work better in a Microsoft environment (Windows, Office). In these days there are few very serious competitors that came from behind offering similar or even better tools for project management and with a lower price.