However, if you want a bunch of neat features, custom rollouts, and all that stuff, you're simply not going to be able to get the same value (unless you have HUGE scale) building it, and should just buy it.
Most organizations aren't comfortable saying "this is all we'll ever need" and are worried about both building, buying, and then migrating, which can be significantly more expensive than either of those options in a vacuum.
1. "Buying" a solution that solves your problem exactly and doesn't require engineering resources to implement and maintain
2. "Building" a solution where you have to solve every problem from scratch where you don't have any particular expertise.
> is not a binary choice
Then, offering two options. :)
this is where experience matters.
1. Buy some platform/framework which you will then need to hire a small army of costly consultants to integrate and customize for your particular business need. Or
2. "Build" your own solution by orchestrating a bunch of open source technologies to solve your problem.
Moreover, it is not quite clear up front whether 1 or 2 will be costlier in terms of development effort and overhead.