Are "smell like" and "smell of" the same?
Solution 1:
Your final paragraph precisely states common usage here, at the bottom of the world & at the edge of the empire, in New Zealand. I cannot vouch for the accuracy of the 'Cambridge Advanced Learner's Dictionary' on its home turf, but, here, the distinction they make is incorrect.
Either term might be used, depending on context.
You said
"...when you say "My hands smell of onion", it means that you have touched an onion and that's why your hands smell,
·
and when you say "The food smells like rotten meat" it means that the smell of the food is similar to that of rotten meat, though there might be no meat in it?!
That is the common usage here. ie:
"Smell of ..." means that they have some of the material on them so that "smelling your hands" returns the smell of the attached material.
"Smell like ..." means that the smell is reminiscent of the smell of the cited material, even though none is present.
Pedantry:
It would be possible, and generally felt to be valid, to say " ... smells like ..." when the smell was caused by the material mentioned but you were unaware of what caused the smell.
eg saying "My cup smells like liniment" when the cup had, unbeknown to you, previously been used to contain liniment, would be valid (As xxx usually DOES smell LIKE xxx).
Advanced Pedantry:
However, the converse - "This cup smells of Aniseed" when it contained Ouzo liquor, which has an Aniseed like smell, would be incorrect usage, based on a misapprehension by the smeller. This distinction would be understood by many but few would be pedantic enough to care if such a mistake was made.
eg "This cup smells of Aniseed"
might be replied to with "'It's Ouzo", without the felt need (usually) to explain that it can't smell of it because "it ain't it".
Added:
It's evident from various added comments (Oldbag, Steve Jessop and others) that
US usage tends to be "smells like xxx" regardless of whether it is actually xxx being smelt or something that is known not to be xxx but has the same or a similar smell, Whereas ...
UK (and New Zealand) usage is to differentiate between 'actually xxx' and 'similar characteristics to those of xxx'.
So, the Cambridge Advanced Learner's Dictionary appears to be correct in its [US] assertion but not general enough in its [UK] assertion.
However, Sharaman says that "Longman Advanced American Dictionary"mentions "smell of" but Oldbag's answer and Steve Jessop's related comment indicate that "smell of" is not common US usage.
Sharaman asks if "taste" follows the same "rules" as "smell".
In NZ "taste" follows the same 'rules' as "smell".
This would tend to apply to a number of sense or perception based terms although the usage becomes "forced" in some cases.
eg "made of wood" would be used but "made like wood" would feel too 'strained' and would probably be rendered "made to look like wood" or "made to seem like wood" or even "made to seem like it was made of wood." [I decided that, in this example, the use of wood would make the example (just slightly) more entertaining and thus, just possibly, more memorable, with the added benefit of also making it more confusing :-)].
Tongue twister from my youth:
"How much wood would a woodchuck chuck if a woodchuck could chuck wood?"
This was always a deep mystery to me as, in New Zealand, we do not have Marmota monax, groundhogs, woodchucks, whistle-pigs, land-beavers, nor any members of the Sciuridae family, nor ground squirrels or marmots or in fact native rodents of any sort.
Solution 2:
Like when you say "My hands smell of onion", it means that you have touched an onion and that's why your hands smell, and when you say "The food smells like rotten meat" it means that the smell of the food is similar to that of rotten meat, though there might be no meat in it?
My interpretation is that smell of implies causality. You have touched something, and therefore your hands "smell of it": they smell because of it.
Of course, when something causes a smell, that smell is typically similar to the smell of the thing itself. If you touch onions, your hands smell like onions, of course (because, I assume, some chemical from the onion rubs off on your hand).
The distinction is more clear in metaphor. You can "smell of" failure, or of desperation, or of fear. Those things can cause you to literally smell (because of sweat or hygiene issues), or they can just make you an object of distaste, as if you smelled bad, but no one believes that abstract concepts like "desperation" have an odor to resemble.
Smell like is much more literal. One thing smells like another thing, because of happenstance, chemistry, or some other reason.
Solution 3:
In the US, you'd rarely hear anyone say that something smelled "of" anything. Right or wrong, (or inaccurate) we say, "like."