For vacuum cleaners that stink, remove the brush roller and unscrew the end caps. You will find small bearings at each end and what appears to be a washer, it's not a washer it is hair that has wrapped around the brush bar and overheated creating the odor. Clean the roller bearing area a couple times a year more often if you have pets. This will get rid of that mysterious odor.
If your vacuum is stinky, it may be necessary to do a deep cleaning of the vacuum to locate the origin of the smell. This is a page about cleaning a stinky vacuum.