Astro has more focus on content based sites whereas the other two may also be used for web apps.
But anyway, I think there's plenty of alternatives. Next.JS simply took everyone's attention making it to seem like there's no other tool like it out there.
[0]: https://docs.astro.build/en/concepts/islands/
[1]: https://www.gov.uk/service-manual/technology/using-progressi...
I think this makes it sound like I'm repeating something I've heard. It's my experience, not just some preconceived notion I have. I find it much easier to use something like Next.js, Remix, etc. (if we are comparing frameworks) than Astro for more dynamic web apps.
I would be very surprised to hear someone who prefers to build substantial dynamic SPA in Astro. But if that's you I'd love to hear more.
I actually did build a substantial dynamic SPA in Astro[0], and I would still choose Astro if I could start all over again, because just like other frameworks Astro has great support for data fetching, and also allows you to trivially have some parts of your application fully JavaScript-free, such as the login page where just the browser-native form is sufficient.
I agree that it doesnt only do blogs and static sites. I found it to be harder to use for other cases but I'll poke around in that repo.