Build or install.
USE AN EXISTING APPLICATION WHEN
The requirement is common: a blog, a shop, a forum, a course platform
You want to be able to find help and developers You do not want to maintain the code yourself Time to launch matters
BUILD CUSTOM WHEN
The requirement is genuinely unusual An existing application would need so much modification that you are effectively building anyway You need complete control over behaviour You have the resources to maintain it indefinitely
THE HIDDEN COST OF CUSTOM
Every line you write is yours to maintain, secure and update, forever. An application maintained by a community receives security fixes without you doing anything.
THE HIDDEN COST OF BENDING AN APPLICATION
Fifteen plugins forcing a platform to do something it was not designed for produces something fragile, slow and difficult to update.
If you are fighting the platform, that is the signal.
THE MIDDLE PATH
A framework such as Laravel: less than building from nothing, more control than an off-the-shelf application.
THE HONEST TEST
Could you describe your requirement to someone and have them say "that is just a shop"? Then use a shop platform.