Well, this is quite an old topic...
Yes. Generally, prefer to open a new thread and link to the old one.
Besides complicating the code
The idea is to simplify the code. Of course you have to implement resource managers once, but if you've designed them well, the client code that uses the resources will often be simpler.
doesn't they upload multiple textures?
I don't see how this is related to resource managers. If you allocate multiple textures, yes, otherwise, no. This is the same if you directly create the
sf::Texture objects and load them.
Wouldn't it be perfect for game to have a single texture with all the graphics the game needs on it to simplify the code and maximize performance?
Code will be more complicated, because you have to determine the texture rect. Furthermore, there is a size limit for textures, so you can't pack infinitely many sprites into one.