Ok, this obviously begs the question: "Why custom software?" Well, the world is filled with lots of reasons for creating it. Many businesses can't adapt their processes to a "one-size-fits-all" software solution. This can be the case in any company, but it typically occurs in industrial/manufacturing businesses. They, more than any other type of business, tend to have a need for custom software to facilitate the specialized procedures they perform.
Let's examine a couple of scenarios that illustrate the need for custom software:
You are running business that grinds up used plastic parts trays for the automotive industry. You have been struggling to keep track of everything manually. Raw materials receiving, production inventory and finished inventory need to be managed in an organized, chronological manner. In addition, packing and shipping operations must also be handled efficiently. You also need to report receiving weights, raw material inventory and finished inventory. Maybe you can find generic software designed to handle something this specific. But what happens if you go that route, install the canned package and then find out it has too many shortcomings to facilitate your procedures?
You are the general manger of a chemical processing plant. Multiple processes are running simultaneously and they must be timed precisely so the finished products will be satisfactory to your customers. Trying to keep track of all of this with pen and paper is just becoming too much. A program that manages each process along with user specified time limits for each one would make this much more manageable and less prone to error. And eliminating errors is important, because having to do things over takes more time and money.