Short answer: AIO is a turnkey Nextcloud deployment while the micro-services image is a base image that one builds a Nextcloud deployment around to suit their needs.
AIO incorporates helpful (if you use them) services (like Imaginary, Office, FTS, data backups, etc.), opinionated optimization preferences (generally good ones!), etc. It isn’t a single Docker container (it’s several) and wraps a management platform around a nearly complete Nextcloud deployment.
AIO is more rigid (about what you can’t do with it) and less flexible (to someone that wants control over everything), but more “ready to go” (and tuned) at install time.
The micro-services image is meant to adjustable to a variety of deployment scenarios. The micro-services images can be tuned to your specific needs locally and will, in most scenarios, need to be accompanied by other images specified by you, depending on your desired Nextcloud architecture.
I guess maybe you could put it like this:
AIO = Nextcloud Server and a bunch of (potentially) helpful stuff
Micro-services = Nextcloud Server