There is no difference in functionality and features as they are exactly the same in that regard. OEM is suppose to be bundled with an individual pc meaning that you are not to install it on another pc if that first pc were to go bad. I believe the OEM version records information on your motherboard to ensure it can't be moved to another motherboard.
If you buy the OEM you have to choose between 32bit and 64bit with retail you can install both.
Also the OEM version can only be installed on one computer whereas the retail version can be installed on different computers as long as it's used on just one.