I am a fierce hater of the complexity and closed-ness which Next.js became, BUT "results don't have to be explained" and Mr. Guillermo unarguably executed the hell out of it. It IS the default for new frontend developers, right now. I don't think it will necessarily remain, specially because of things like One!
It’s the default because Vercel dumped millions of dollars into devrel and marketing. It’s not and never was definitely better than other available options.
Good docs? Have you tried to get definitive answers on image optimisation, response modification, error codes, or much anything other than “serve these react components at this path”?
When there is documentation, it’s often a mishmash of incomplete examples and links between the two totally incompatible editions of the framework.
There are those who would say they created a "bait and switch" from their open framework into their closed for-profit deployment platform. That is not objectively wrong, though. But still, many complain. I say: good for them. Let competition happen.
So far I've only used Next.js for static site generation, for a couple of long-term projects. Self-hosting it is as easy as any static site. Upgrading major versions of Next.js, however, has been fairly painful. The experience made me reconsider the decision to use it, and I'm keeping up on possible replacements like Remix. But honestly I'm getting a lot of value out of the framework that I'm in no hurry to change.
For dynamic sites that require running Next.js on the production server, I'm not too interested in trying because it feels like too much vendor lock-in. The same reason I wouldn't consider Vercel for hosting, since they develop the framework that is already a big dependency.