I have seen it both ways unfortunately, so that's one of the reasons that I am somewhat cautious (I guess that's what happens with 13+ years of experience in the field).
One that sticks in my mind is one of the first "real" jobs I had. The company was a solid, well established company that was about 20 years old. Best place I ever worked. They had a piece of supporting software that was written in VB on Access. The software was basic, but it worked as a great support to the methodology and theory of the company.
One big (REALLY BIG) client came in and needed the software to be housed on central servers, with the ability to roll the data up for reporting purposes.
So the company went off in the weeds, building a huge (2.5meg!) java applet, basically tailored to this one client's specifications. The company had no java experience. Had to hire java guys. No Solaris experience (as required by the client). Had to buy hardware and hire people. They had no oracle experience. Again, more $$ and more people.
Within 3 years the company went through two acquisitions, one of which was a reverse buy out of a crappy company that had IPOed. A year later the company folded.
A 20 year company was destroyed by this choice to build a bespoke system for a huge client.
Another memory is making said 2.5meg craplet run under the IBM JVM for OS/2 Warp 3. On token ring. Banks got sold some horrible systems!