Earlier quoted context omitted.
Writing your own engine, when you intend to make a game is a black hole where many many projects go to die. Implementing a cross platform modern game engine is perhaps a single step below writing an operating system from scratch. Source- I've written 3 feature rich, but not feature complete, game engines over the last 25 years.
Writing an 'engine' is just good code reuse - as I build my game I have 2 separate groups of projects: one is for the engine where I put generic game tools such as model loading, input handling etc - and the other group of projects is my game logic which contain specific jobs and tasks my AI perform in-game for example. When new engine features come out, FXAA for example, it's mainly just a case of finding it online…
One other benefit, apart from outsourcing, is that there's now a large pool of people using the same system. So, you're not working in isolation anymore and you can ask for help when you get stuck - and stuck you will get.