I have seen this question in altcoins board. And here is my input.
Let's think in terms of games.
Your all game assets are stored with your user id and password, right? Suppose, we have a game where all these assets like food, healthpacks, weapons can be sent to your friend if you know your friend's user id. But no one can steal your assets until your password has been stolen or you shared. Now what if you want to beat your friend in an online game? You need to know how much healtpacks, weapons or food he/she posseses, isn't it? And hence, games are designed in such a way that anyone can see others game assets.
Now this user id is known as address and password is your private keys. And combining them, you have a wallet. Stating assets as bitcoin and therefore, you can send bitcoin to others address but they can not steal your bitcoin as you hold the private keys. Similarly, other can send you bitcoins if they know your address and all such transfers can be seen on website whether it is yours or others.
That's it.
If you have another mindset, please share here. You're most welcome