Perhaps it's not necessary and it is better to use ready solutions, but not a bike?
And what is even the purpose to write the bike (Except for the sole purpose to learn) ?
(well, another option, if you have a very unique functionality that this close and never used)
In other cases, a ready solution is better, at least for the following reasons:
- what makes them not one person
- devotes a lot of time on scalability and versatility
more tested app
- more time micro-optimizing
If you take a few popular frameworks, then what's the point of reinventing the wheel? (besides, as already wrote above - you'll learn)