To me I see everyone of those issues as a lack of technical diversity on the side of management and other decision makers. If what a company needs is CRUD and forms and their needs are no more than that, then there are existing players in that market. Oracle and SAP being the examples, sure they are not sexy but if all you need is off the shelf accounting or off the shelf authentication these players provide those solutions. Further, management that only know these tools some times commission custom development in these systems, which turn into the monsters projects that we all hear about. Too often we see people implement fully custom systems when a component based system like SAP would do, and conversely we see people develop fully custom systems in SAP. The right tool for the right job is appropriate, unfortunately not many managers have the technical breath to make those tradeoffs and leave the decision up to their development team. If said team is a custom software development team then only have custom development knowledge to draw from.