You are right on target, and what most of the professional developers do.
We make our own frameworks, or take an existing framework, I like to use BootStrap and make the changes needed to make our version compliant with the specifications.
Now I must say that I choose BootStrap because I do so many commercial sites and many of them require a lot of features. BootStrap has most of those features already in the framework. But it took me months to put together a BootStrap framework that was compliant, and I am still tweaking it usually month to month.
As far as making mistakes, we all do, the technology on the web changes so fast that it is hard to keep up. Making mistakes is part of the fun, by those mistakes we learn new things. Anyone that tells you that they have created a perfect site has never taken that site online. With all the different hardware platforms, video devices, display adapters, RAM configurations, computer configurations, browsers, and I could go on and on. Perfection is next to impossible to achieve. But we keep trying, again part of the fun.
We learn new stuff everyday, that is one of the many reasons I enjoy doing this.....