Historically, project management software has been a must in big corporations with millions of dollars behind them. This is no coincidence: project management was and still is) a discipline with its own specialized vocabulary, roles, and sub-culture. The figure of the Project Manager was essential in this: a person who was aware of the "big picture" and was able to check that everything happened on time.
When Microsoft project came out, it was the beginning of a revolution: it was cheap (compared to the "common" solutions), and it was aimed at "normal" people. It didn't quite manage to penetrate the market because it ended up displeasing both sides of the spectrum: on one hand, "real" project managers saw it as a toy; on the other hand, people who were trying to just manage their projects got lost in the specialized lingo and the complexity that Microsoft Project inherited from the world it came from.
The real revolution started with Basecamp: it was project management, but it was project management for human beings. There was absolutely none of the specialized lingo that belonged to the "classic" project management world. It wasn't about deliverables, resource tracking and allocation, etc. It was about having things to do, and talking about them. This was inherited from the software world: a piece of software can be seen like a project, which has several things to do (tickets) which could be bug fixes or enhancements.
Fast forward to 2012: project management is no longer a defined science with its own vocabulary and roles; that's "classic" project management -- it still exists, but it belongs to the same niche made up of big corporations. Today, project management software like Mavenlink is more of a way of life to make things happen, and that goes from personal projects to big software projects.
Here are some categories:
Personal TODO software
Personal TODO list software is aimed at private users who want to keep on top of what they have to do in their daily life. They are not, strictly speaking, "project management tools" since they often lack the ability to delegate and work with teams. However, I listed them here because there is often a blur between them and project management and collaboration tools (explained in the next section).
Personal TODO list software tends to be available in several platforms, so that users can see their TODO list on their desktop computer (with a proper stand alone application), with their Android or iPhone device (again, often with native applications) and via web (for when they are on the go).
Project management and collaboration
Project management and collaboration software is what started the real revolution (in a way, personal TODO software is a simplification of that). Generally speaking, collaboration software allows you to create a project, which is normally made up as a bunch of task lists, each one containing a bunch of tasks. The real power is in the fact that tasks can be delegated, reassigned, and (more importantly) commented on. This tends to create healthy discussions about a task. Most platforms also have the concept of "internal users" who are allowed to see and edit the project's tasks, and "external users" with more limited powers.
Most platforms are based online (available as Software as a Service), although some of them allow in-site installation.
Extra features tend to make several platforms more or less interesting and useful. However, at the end of the day simplicity seems to be the real winner: when collaboration software tries to compete with classic project management, the focus is taken away from collaboration and communication -- and most of the advantages are lost.
Ticketing and software development tools
Software projects have had the concept of "tickets" for a long time. A "ticket" is historically a way to tell the developers that there is a bug that needs to be solved. The ticket is obviously discussed amongst developers, until a "patch" is produced (and the problem is then resolved). Programs also have the concept of "versions": a ticket can normally be filed against a specific version.
If you change the word "software" with the word "project:, the word "ticket" with the word "task" and the word "version" with the word "milestone", you end up with something very similar to what collaboration software is like today.
The needs of ticketing software are different: for example, any ticketing software will have to be able to integrate with source repository systems (SVN, GIT, CVS, etc.). However, the similarities are striking.
Classic project management tools
It's hard to write a list of "classic" project management software. As I mentioned, there is Microsoft Projects (as well as others). However, the focus of classic project management is not really in the piece of software itself, but on the methodology used. For example, you can get PRINCE2 certified, and discover that PRINCE2 is not about using software, but how to manage projects and what vocabulary to use when referring to the project's organization. We also have a new generation of project management software mac tools which apple users are gravitating towards.
Some ideas and concepts of classic project management can also be applied in general to collaboration tools and philosophies. This is to say that the broader the knowledge, the better off you will be.
Where is the future?
There are literally countless tools out there which will help you get your work done, and lead successful projects. The most important thing to remember, is that you need to find what works for you and for your team. In some cases, using just paper and applying classic project management methodologies will take you very far. Or, maybe your team will need collaboration more than management -- in which case the figure of the project manager becomes more of a facilitator and central person for arbitration, as well as interfacing with the customers. Also make sure to leverage learning management system tools to get your teams up to speed on this.
The software used is important, as switching can be especially painful. So, picking the right tool -- whatever that might be -- is a process that should involve a careful pre-selection, and then lengthy trials of the solutions picked (maybe with simple, very short term projects).
Taking shortcuts in the early stages will lead to more problems later on.