I think code quality is important, and big studios make a buck on having clean and workable code they keep improving over time.
That being said, and especially on indie games like VVVVVV, hammering in a cool little detail gives the final product much more value than having clean code.
That's why big engines with mature coding patterns sometimes are not the way to go to make a cool little thing. Making novel mechanics (e.g. time reversal in Braid, or the super tight controls of Super Meat Boy) with an existing engine, while possible, would probably be a PITA.
The "hackability" of the engine you use can allow you to be more creative, even if a bit messy to maintain.
Back in the days of flash, I'd probably use a simple display list engine (flixel comes to mind) to do the heavy lifting, and hack away with those basic building blocks.
Nowadays, I was surprised by the relative hackability you get with godot[0], while still being able to tap into what you can call a mature engine. If you like to make small games, you owe it to yourself to check it out.
[0]: https://godotengine.org/