Wojtek X I don't agree with you. Everything can't be reloaded using source .bashrc or .zshrc, source .bashrc will reload the envs without closing the terminal.
But Sometimes it needs to log out to get an effect such as showing app icons (vary with system to system)