It really is night and day between a good dev and a bad dev.
The key factor that you're probably not thinking about is time. A good dev doesn't think faster or have blazing fingers that fly across the keyboard, a good dev is constantly setting him/herself up to shave time off of future tasks, and those investments are constantly paying dividends.
Those "bad" teams can definitely produce software that runs, but they do it 10x slower than a "good" team could.
What takes a bad team of four six months to make takes a good team of two only 5 or 6 weeks.
Yes, but what's the point of maintainable code? Speed. Quickly understandable, quickly fixable, and quickly upgradable.
Time is the key. Writing maintainable code is the investment a good developer makes because it pays off by increasing speed of interacting with that code.
The key factor that you're probably not thinking about is time. A good dev doesn't think faster or have blazing fingers that fly across the keyboard, a good dev is constantly setting him/herself up to shave time off of future tasks, and those investments are constantly paying dividends.
Those "bad" teams can definitely produce software that runs, but they do it 10x slower than a "good" team could.
What takes a bad team of four six months to make takes a good team of two only 5 or 6 weeks.