I hate to admit but I had trouble distinguishing between three variants of Azure SQL Server solutions. Can’t really say WHY, but I just did.
Gave it a thought and basically - there’s a simple way - just think in terms of “what you are getting”.
In the first case (Azure SQL Database) - you are being given Database to use. You gain access and you can do whatever you want inside of it. But you don’t get to do anything OUTSIDE (e.g. fine-tune the server, etc.). It’s great solution for anyone who just wants to have a working DB immediately without thinking about server management.
Second case (Azure SQL Managed Instance) is a bit more advanced variant. You get MANAGEMENT permissions, as in - you get ADMIN access to SQL Server and you can, as you might expect - create databases, change collation, fine-tune certain settings, etc. Great for anyone who want to have more control over the server without caring about the Infrastructure.
Finally, Azure SQL Server on VM is exactly as the name implies - you get a Virtual Machine which is pre-optimized for running SQL Server on it. And you get a full control over everything there. It’s like a NINJA mode!
I hope that helps!