Когда начинал, везде предлагали брать готовое решение, а не изобретать свое чудо...
Есть две полярных и при этом правильных точки зрения.
Нужно писать своё, чтобы учиться (как вы описываете в вопросе). И чтобы понимать
как работают готовые решения и
почему именно так.
Нужно использовать готовое в работе. Ваша поделка, если у вас мало опыта, будет малофункциональной, неподдерживаемой другими разработчиками и, скорее всего, дырявой и не будет иметь тестов. Всё это важно в мире реальной разработки.
1. Экономия времени. Достаточно написать и после интегрировать в свои проекты...
"Достаточно написать" обычно для велосипедов измеряется годами, с учётом всё новых и новых требований и найденных багов.
2. Правильное решение. Соглашусь, но если практиковать свои навыки, разве у вас не получится также?
Опять же - речь про годы практики.