Что-то новое изобретается именно тогда, когда того, что уже изобретено, недостаточно для осуществления новых задач. Но, конечно, перед тем, как "изобретать велосипед" заново, лучше поискать уже существующие решения этой задачи. Так проще и быстрее будет.
Это актуально, например, в программировании - очень часто там существуют уже придуманные ранее способы решения определенных проблем, но программист-новичок может об этом не знать и писать сложный код там, где можно было бы обойтись одной строчкой... если бы он знал ее.
Тех, кто более опытен, такие "велосипеды" раздражают, потому что усложняют работу программы и зачастую не учитывают каких-то важных деталей.
Поэтому лучше всего сначала досконально изучить имеющиеся средства, а затем уже изобретать новые, только если старых недостаточно.