Every business buys SaaS. It is the correct default. SaaS is faster to deploy, cheaper to maintain in the short term, and somebody else owns the support. For most use cases, SaaS wins.
There is a point, though, where SaaS starts to lose. The signs are quiet at first. You are paying for 200 seats but only using 50 features. You are asking the vendor for a custom export that does not exist. You are working around the UI because it was designed for a different workflow than yours. You are paying per-user pricing that keeps climbing while usage is flat.
Each of these is a small tax. Together they add up to something that in some cases is larger than the cost of building the thing custom. Not always. For commodity functions like email marketing or accounting, SaaS is correct forever. But for the things that are actually specific to how your business works, there is a tipping point where custom wins.
The biggest misconception about custom software is that it costs more than SaaS. It does, upfront. Over a long enough horizon, if the custom software actually fits the business, the ROI beats SaaS decisively. The reason is that SaaS is priced to cover the vendor's R&D for features you do not use. You are subsidizing everyone else's use case. Custom software is priced for yours.
The second misconception is that custom software is expensive to maintain. It can be. It also does not have to be. A custom app that is 5,000 lines of code doing one thing well is cheap to maintain. An app that is 200,000 lines of code trying to be a platform is expensive. The right custom software is small, focused, and boring. Most of our builds are under 20,000 lines of code total.
The signal that says you are ready for custom is pretty clear. You have workarounds for the SaaS tool. You have multiple SaaS tools that should be one. Your team is doing work that the SaaS should be doing for them. The process is not going to change, because it is core to what the business does. That is the moment. Before that, stick with SaaS.
We have talked clients out of custom software too. Sometimes the right answer is to configure the SaaS better, or to buy a different SaaS. Custom should be the answer only when the question is specifically about your business and the market does not have a tool that answers it.