What you're describing is a lack of engineering in modern software. That's not inherently a bad thing. Arguably a good thing, because we have more problems solved enough to be boxed/canned. But I'm not satisfied with a lot of these boxes/cans, which is why I started rewriting my personal website using completely new techniques based entirely on generic engineering and problem-solving principles [https://novocantico.org/]. My day job is still gluing other software together, but at least I'm able to try to innovate something in my spare time, and open-source it.