Agree with some of the above comments - experience is key here. Most of today's frameworks allows you to build a CRUD like webapp in no time (once you know your weapon).
it's often later on in the dev-process that you might benefit (or not) from the builtin capabilities of the platform (thinking about access-rights, roles, search, app-isolation, task-scheduling and so on).
Each framework helps solving different aspects of the requirements in a more or less time- effective/automated way.
Sometimes you need to ad layers of functionality to accommodate the reqirements of the system (or the maintainability). Each layer/product might be a rock-solid solution by it's one but when you throw several of those in the mix things get complex fast.
Sometimes I feel we tend to spend more time focusing
on finding the perfect tool (feature-by-feature) rather than learning how to build a great app from a solid design/archtectural perspective regardless