Вопрос скорее не технический, а идеологический что ли.

В общем, надо что-то сделать.

Вариант 1: сделать самому.
+:
а) в процессе научишься чему-нибудь новому или узнаешь какую-нибудь тонкость.
б) будешь ориентироваться в коде, ибо сам писал.
-:
а) возможно более долгие сроки исполнения.

Вариант 2: испльзовать готовое стороннее решение.
+:
а) тестировалось многими, вроде ошибок быть не должно.
б) возможно быстрее сделаешь работу.
-:
а) скорее всего будет много лишнего, что не нужно для решения задачи.
б) тратится время на изучение этого самого готового решения.
в) иногда тратится время на поиск ошибок в чужом коде.


Отсюда собственно вопрос - какой метод лучше? Или стоит искать баланс между ними?

Просто с одной стороны - если постоянно использовать готовые решия, то сам не научишься нормально.
С другой стороны - много сторонников того, что "не надо изобретать велосипед, всё уже готово", которых избыточность готовых решений не волнует.