It solves console manufacturers' biggest problems, but creates a lot of hard problems for game developers. Arguably, harder problems.
TL;DR: Release demand spikes are expensive and risky. Getting rid of console generations means they don't need to handle demand spikes anymore. Also, having regular optional upgrades is a good way to get rich people to pay higher hardware prices than poor people. On the other hand, console game developers will have to choose which hardware configurations they will support. You don't want to lose sales to the majority with under-powered machines, but customers with the more powerful machines will also expect better graphics and more features. That means developing multiple versions of your engine and assets for different hardware configurations. Plus, even if it's not explicitly supported, you'll need to budget for maintenance and QA for future hardware iterations that may be released during your support window. Cross-iteration compatibility is mostly a branding issue for console manufacturers, but for game developers it's a major, can-we-make-payroll kind of decision. It's taking the worst drawback of PC game development and throwing it on consoles, and charging platform royalties for the privilege.
Nintendo is mostly a game studio, so I'd expect them to continue making console generations. Sony and Microsoft won't. Aren't. Haven't been? I mean, that's the whole point of the PS4 Pro and the Xbox whatever nobody cares edition.