Four conditions push you toward a custom system. You don't need all four. Two strong ones usually settle it.
The first is process uniqueness. If the way you schedule, quote, or fulfill is genuinely different from everyone else in your industry, and that difference is why customers pick you, an off-the-shelf tool will sand it down. Configuring a generic platform to be unique is the expensive way to get a worse result.
The second is object model mismatch that no vendor solves. Every platform has a fixed idea of what a record is. Deal, project, task, contact. If your business runs on something that doesn't fit any of those, you'll spend years pretending. I've seen companies use a "project" record to represent a physical piece of equipment that moves between customers. It sort of works. It never works well.
The third is per-seat math. This one you can calculate on a napkin. Say you're at 60 users on a platform at $79 per user per month. That's $56,880 a year, every year, forever, and it goes up when you hire. Add 20 people and you're near $76,000. Now compare that to a system you commission once and own. You still pay for hosting and ongoing changes, but nobody charges you rent per employee. Run your own numbers across a five year window before dismissing this.
The fourth is stack fragmentation. When you've got a CRM, a separate scheduler, a quoting tool, a spreadsheet for commissions, and a project tracker, and three people spend their days retyping between them, the integration tax has already exceeded a build. You're just paying it in salaries instead of software.
Count the rekeying. Pick one week and have your team log every time they copy information from one system into another. That number, multiplied by loaded hourly cost, is the honest price of your current setup.