Во первых - готовый код - он разный. В частности данное утверждение подразумевает "готовое обкатанное, проверенное на многих использованиях, все основные косяки и грабли уже найдены и пофиксены".
Во вторых - ясное дело что для всего на свете нет готовых решений, где-то реально нужно писать свое, а местами свой велосипед удобнее и проще. Это не исключает первый пункт, то есть вероятно грабли и баги вылезут у вас в самый неподходящий момент.
В третьих - готовое распространенное решение проще поддерживать, завтра вы уйдете / перестанете поддерживать свое "творение", и другой разработчик вынужден будет разбираться в вашем произведении, матюкаясь что в одном месте "все прибито гвоздями", в другом "собрано из г**на и палок", в третьем "эти 30 строк пишутся одной тренарной операцией, кто это вообще писал???"... И вам потом икать, оно вам надо?
То есть, если вы уверены, что ваш код безглючен, выполняет то что надо и в 4 раза короче "готового решения" - вперед на мины, а если важнее надежность и фидбэк, вкупе со скоростью разработки - лучше взять популярное рабочее решение.
На самом деле разработчик с опытом и мозгами сам способен понять где брать готовое, а где проще набросать свое.