I use all three regularly. AWS has a horrible, inconsistent UI, and the Azure portal is mostly ok (although I think GCP is the best of the three)
But OTOH AWS generally works and usually does what you think, whereas I'm never surprised when Azure breaks or some random Azure API works nothing like we expect.
The biggest difference IMO is in how they're handled by large organizations and how prod permissions are provisioned by them. In Azure you have one user account and one org, with subscriptions for your user account to activate to get permissions. You can have multiple subscriptions but they're under the same login/user account and you can have multiple active at the same time. In AWS, you get access to an account or accounts that have different logins, so you get to juggle those with login/logout, even if there's SSO. In GCP, there are multiple projects, under a single login, but you may have to juggle projects.
The other aspect is how regions are dealt with. AWS global resource index/search thing is useful, but it totally feels like I spend more time juggling regions with AWS. Azure's regions themselves are, let's just say, interesting. GCP is better at it than AWS, and less interesting than Azure (which is a good thing).
I must have very different needs. In my perception, AWS is the best of the three, Azure is second, and Google would be #3. Depending on your unique news, you might choose different CSP's, from Digital Ocean to Oracle or IBM (the only place you can get AIX, IBMi, and z/OS)
Do you do cross-region work in AWS? For me that is just bad. I usually want to work at a service level and see across all regions, where as AWS wants me to work at a region level and see everything I have running there.
I think it's a bit the services - I am very impressed with Aurora on AWS for instance, and there isn't really anything equivalent to it anywhere else. Also, some of the services elsewhere seem easier to deploy or more convenient to use.
In any case, all three big ones are pretty good for almost anything, and I don't think there is anything that's doable on one that's impossible to do in the others (IBM is the exception here - if you need AIX, IBMi or Z, they are the only ones who can offer that).
But OTOH AWS generally works and usually does what you think, whereas I'm never surprised when Azure breaks or some random Azure API works nothing like we expect.