There are two main challenges with customer software development, compared to using package based software.
The first one is how to be ready in time, on budget and with the fulfilment of requirements. This is especially true when you develop a system that would replace something existing.
The other is more long term and how to build a bespoke solution that could be maintained over the years. If it’s a bigger investment and core business, you will need to develop a solution that there for many years.
On the other and, package based solution with to much customer based code inside is also very cumbersome to maintain, so as a decision maker you are between a rock and a hard place.