Custom solutions generally take longer to produce, and may be 'works in progress' for a long time.
The organization requisitioning custom software bears the entire cost of producing that software from available components.
Risk of time and cost overruns
Custom products, by their nature, are one-of-a-kind. This means that the programmers have not produced this exact product before. (If they had, then they would just sell you a copy.) Therefore, estimates are not always exact, and the project could take longer than anticipated. The risk of cost overruns can be mitigated by requesting a fixed-price-contract, if available.
Shortage of qualified programmers
Software companies, who distribute the costs of software development across many disparate clients, can afford to pay and are willing to pay programmers better than many organizations that request custom solutions.