Whenever I get warnings of packages being overwritten or removed, I just click "Yes" to all of them. I don't fully understand them all, so I tend to go with the newer version because older packages with a distro update probably has a higher chance of breaking something.
Packages, yes, but config files are a COMPLETELY different story. Consider, as an example, that you created a configuration file for Samba, which contains all the directories you wish to share with other specific computers on the network. The file is tailored to your needs; it can't be the generic config file that the package provides when it's installed.
So you edit the original samba.conf to allow access to the directories, and merrily go on your way computing...until the samba package updates to a new version. When that happens, the installer/config file utility will offer to give you a new config file: 'the package maintainer's version'.
The utility will give you some choices here; you can accept the new file, compare it side by side with the file in service, or zap it, in which case you keep your custom samba.conf and decline the new one.
Here, you have to be careful. If you blindly accept the new one, thinking it's newer or better or something, you will completely break samba, and nothing will be shared on the network.
This is one thing that can make Linux a bit complex; you have to be intimate enough with your system's innards to know which config files you've edited and customized for your use. There's usually a way to back out/undo a wrong decision on config files, but that would vary between distros. Another thing you can do is to completely back up /etc/* on a regular basis, because that is where the config files live.