Buy it. That's the right answer most of the time and it's worth saying before anything else, because the case for building is easy to talk yourself into.
Somebody has already solved your problem for a fraction of what it would cost you to solve it once. The question is only whether you're one of the businesses where that stops being true.
Why buying usually wins
The economics are not close, and it's worth understanding why before arguing with them.
A product with ten thousand customers has spread its development cost across ten thousand businesses. You get years of work, a support team, security updates and every feature somebody else asked for, for the price of a few seats a month.
It also works this afternoon. There's no scoping, no build, and no risk that what you specified turns out to be wrong.
For accounting, payroll, email, most CRM work, most booking and most online selling, this is simply the answer. Building your own is a way of paying more for less.
When it stops winning
Four situations. "The software annoys me" is not one of them.
Nothing fits, and you've genuinely looked. The bar is not that nothing is perfect. It's that you've tried two or three and each one needs a workaround that costs somebody real time every week.
Your process is the reason customers choose you. If how you do it is your advantage, software that forces you into the standard way of doing it takes the advantage away. That's the strongest case for building there is and it's rarer than people think.
The per-seat bill has outgrown the build. Per-seat pricing charges you for growing. At a certain head count a one-time build is cheaper in year one.
You're paying for four products to do one job. Three subscriptions and somebody copying between them is a common and expensive shape.
The arithmetic, honestly
Take twelve people on a $40 per seat monthly product. That's $5,760 a year and $17,280 over three.
Against that, a build starting at $5,000 with hosting and occasional changes after it. On those numbers it crosses inside the first year and the gap widens after.
Now take three people. That's $1,440 a year, and it never crosses. Buying is obviously right and no amount of dissatisfaction with the software changes that.
The head count is what moves this, and it's why the answer flips as a business grows. Run it on your own numbers, over three years, including what it costs you to keep either one working.
Two things people leave out. The build needs maintenance, so put a number on it. And the subscription price will rise, because it always does, so don't model it flat.
What 'it almost fits' really costs
This is the case that gets decided badly, because the cost is invisible and arrives in small pieces.
Software that almost fits produces a workaround. Somebody exports to a spreadsheet every Friday. Somebody retypes an address. Somebody keeps a second list because the first one won't hold the field they need.
Twenty minutes a day, across four people, is about 340 hours a year. Nobody ever writes that on an invoice, and it's a larger number than most builds.
Before deciding anything, go and count the workarounds. Ask your team what they do that the software should be doing. It's a fifteen-minute conversation and it usually settles the question on its own.
The middle route most people miss
It isn't buy everything or build everything, and treating it that way is how businesses end up rebuilding software that worked.
Keep the products that fit. Almost nobody should build their own accounting software. Then build the one piece that doesn't exist, and join it to what you already own.
That's the commonest shape of the work: your accounting stays, your booking stays, and the piece in the middle that somebody currently does by hand gets built. It's cheaper than a platform and it leaves you free to change any one piece later.