Some people argue that if you copy paste your code you are doing it wrong and if any piece of code needs to be repeated it should be turned into a library, framework or some kind of tool. While it is true in most scenarios there are some cases where it make sense to reuse a code. Below whenever I write about “boilerplate project” I mean a project which contains most basic parts, common for most of the projects you (or your organization) work on.
The good
A basic boilerplate project (like flask boilerplate) with preconfigured tools you frequently use (for example a library or database migration tool) will get you started in a couple of minutes.
Of course there are many ready to use projects out there but I think writing your own boilerplate project is a great idea and it does apply to freelancers as well as big organizations. It may help you to understand a framework better and nail down what is really necessary in typical project in your organization or in your freelancing practice.
The bad
If you write a boilerplate project on your own it may be a troublesome to keep it up to date with newest versions of frameworks and libraries. This may lead to starting a new project with already outdated dependencies and, well, legacy code.
The Ugly
This will mostly apply o usage of boilerplate written by someone else. If the project you used is more robust you may end up with lots of dead (not really used in the project) code. The other ugliness is when people use boilerplate code or architecture which they not really understand which usually leads to spaghetti.
Summary
Using a boilerplate project may help get you started with new assignments but the best part of it is to create and maintain one.