webMethods is primarily used to integrate applications. While one can always do the same by building APIs (Java, .NET, etc.), webMethods provides a robust, scalable, and easy to manage platform to do so.
The need is primarily felt when integrating multiple application for a large enterprise. To list a few, one can use webMethods to integrate web-based, file-based, database-based applications. Of course, this is just the tip of the iceberg. It has multiple modules for specific integration types, like a Trading Networks module for business to business integrations, business process models for graphical representations for executing business processes. One can also build small Web-based application using CAF and DSP.
Given that you have one integration API in place, it takes very minimal effort to scale it to any other application that might want to use the same. Its flow-based development environment is a breeze and makes it really easy to re-use most of the existing components and build up a new API.
The second most important aspect is managing the components. It’s fairly easy to view, move, and mange access across different components. Different component types are categorized and can be viewed in a web based administration console.
I would say the core Web-based integrations work the best with webMethods. They are the most efficient and robust implementations one can do with webMethods. There have always been some ups and downs in its specialized modules, but I have found its core integration platform the most reliable.
The stability of the various modules of the product suite have been a bit of a concern lately. Though their support team is always easy to reach out to, I would prefer it not come to that.
More than five years.