We seem to be having an attack of platform man at work recently. We've replaced so many legacy third party software with custom built applications that management seem to be questioning the value of all this effort. Now I'm no zealot in this regard (I've even pushed to cancel some development projects as being a waste of time) but it does appear that we've lost sight of the reasons why custom built (as in tailor made) software was attractive to start with.
Here's my take:
1. Expect significant integration work. Unless you're buying a whole suite of products to cover your entire business integration is hard. Many vendors are singing the SOA tune but at the end of the day IT has to figure out how to get data in and out of the application. Of course the big vendors will sell you the tools to do the integration (and the hardware too!).
2. Unwanted maintenance releases. Third party tools require upgrades otherwise they become obsolete. However too often the upgrade provides no value to the business but consumes IT time and resources which could be better spent developing new code, building frameworks, improving existing apps, etc.
3. Wanted maintenance releases. When you _do_ want some additional functionality you need to wait for the vendor to supply it or revert back to (gasp) custom development to plug the gap.
4. Basic support is more time consuming. Take user management for example, every third party tool will have its own user permission management system. Whereas all of our internal, custom-built apps share a common user management service managed centrally by help desk staff, those same staff will need to learn and use a separate system for the third party apps.