I always thought the difference between an OEM upgrade and a retail upgrade is that the OEM upgrade will only work on the CPU you are upgrading. Retail allows you to upgrade the hard drive, then use the hard drive with a different CPU.
OEM licensing is for one "machine", generally defined as motherboard/CPU combination. Upgrading peripherals (e.g. hard drives, video cards, add more memory, etc.) does not alter the "machine" and you're free to do any of these minor upgrades or peripheral device replacements.
If you change motherboards you would not be allowed to use that OEM license on the "new machine". There is no transferring of an OEM license to a second "machine". I believe the same holds for replacing CPU, and you're also not allowed to change CPU's. Of course if you simply replace dead hardware with a new version of the same model then that's allowed.
I believe the above is what defines an OEM license.
Retail licenses have no such limitations on upgrading any hardware components, including motherboard and CPU. You're allowed to upgrade anything.
But you can only use the retail license product key on "one machine at a time", where again the "machine" is essentially defined by motherboard and CPU. So if you're planning this type of fundamental hardware upgrade from an already activated retail license machine, you're supposed to first DEACTIVATE the license for the current "machine" mobo/CPU, then swap the mobo/CPU hardware retaining the existing hard drive with its installed Windows, then bring up the existing installed Windows (from the existing hard drive) on the new mobo/CPU, then ACTIVATE the license for the new mobo/CPU "machine".
Same if you wanted to reinstall Windows from scratch. You're free to do that on the same machine with a retail license without concern for DEACTIVATE/ACTIVATE. But if you wanted to install this Windows system from scratch on a new machine using the same license (i.e. taking your old machine out of service while upgrading to new fundamental hardware), you would have to first DEACTIVATE on the old machine and then use the product key to ACTIVATE on the new machine's freshly installed Windows. This is allowed.
This transfer of your retail license from one machine (which is no longer being used) to a second machine is allowed, as your retail license allows you to run this Windows activated on any one "machine" at a time. But you can't run it on two machines simultaneously , meaning you cannot "activate" the same retail product key on two machines simultaneously.
I believe the above defines a retail license.