Lemmy.world has open account creation, while Lemmy.ml requires an essay to create an account. For that reason, I believe .world has more users. But you can access content from either one no matter which you make an account on. Similarly, you could pick another instance or even host your own and still see and post content to other instances in the Fediverse.
I’ve tried out Mlem and Memmy, and so far I have preferred Memmy. The dev has been improving it at an insane rate too, so if you don’t love it yet, just wait a couple weeks and check again.
I think some instances have profile pics disabled? I’m not entirely sure though.
Bit of an exaggeration but they do require an explanation on why you want to join. Just a bit of quality control and helps keep spam bots in check.
With federation it's in a server's best interest to ensure the quality of their users because if you allow in a bunch of shitheels you'll get defederated by other big servers.
Bear in mind most apps have only been in development for a couple of weeks at most and they're all prioritising different features. You can always log into the mobile site and upload an avatar that way if you can't yet do it in whichever app you've settled on.
(For your other question, as claymedia explained lemmy.world and lemmy.ml are just two instances of many that are both running the Lemmy software, with different signup rules and different communities hosted there. But since you can access the communities from wherever, just pick whichever home instance you like and get subscribing)
There are a lot of servers, I am on lemm.ee for example. Most are federated with each other so you can see and interact with every post from every community, so usually it doesn't matter which one you sign up with.
Sometimes a server gets maintenance issues or makes moderation decisions that make users want to move, and portable accounts aren't a thing yet in the Lemmy code, so some people have accounts on more than one server. Portable accounts is a top requested feature, so hopefully the dev implements it in a near-future update.