In February ’17 I participated in Mike Dietrich’s upgrade workshop and it was great! I don’t want to repeat stuff that he said there, you can read everything on his blog. This workshop made me think about upgrades I did in the past (and I did quite a few) and important things to think about before and after upgrading a database.
Oracle database is a very complex software, and as we all know, has bugs. Oracle tries to address these bugs, and fixes a lot of them all the time. Except specific fixes, they publish patchsets (which might introduce more than only bug fixes) and PSUs. If you are not aware of these patch types and how it works, you are welcome to read my post about it here.