First of all, bitcoin is pseudonymous, not anonymous. This means that you don't know exactly who the other person is, but you have someway to identify them.
Secondly, blockchain.info does not give you the ip address of the person. It only gives you the ip address of the node that relayed the transaction to them, which is most likely not the person that sent the transaction. It is very difficult, next to impossible, to determine the ip address of the node that created the transaction.
Thirdly, you should not be reusing bitcoin addresses. By keeping your addresses separate for each transaction, then whoever is sending you Bitcoin will only know that you have at least the amount they sent you. They don't know how much you actually have. Services who also use new addresses for every transaction also protect your anonymity since others won't know who owns that new address. It could be your own wallet, your friend's, or that porn site you pay for.
There are also some services that can help you anonymize like mixers or CoinJoin transactions.
Great explanation. So there can be some degree of anonimity, I see it now. Got it.
Can the sending address for each wallet change just like the receiving address?
For example, in electrum wallet, it generated 27 receiving addresses. I used the first one to receive funds and it is marked "used" and it moved to the 2nd one on the list. I also sent btc to an address. Does that mean that if I send btc from the wallet again it will show a different sending address from the previous one on the blockchain? I am confused as to how the sending addresses work since I don´t see a list of sending addresses like I do of receiving addresses.