Uwielbiać can be best translated as 'adore' and, as far as I know, can be used for both people and things. Kochać is 'love' but, in my experience is not really used for food (although, I can't say for sure about it's usage for other objects or actions). For example. the English phrase "I love strawberries" would, in my opinion, be best translated as "Uwielbiam truskawki" and not "Kocham truskawki" which just seems a little bit strange. However, I'm not a native speaker so I can only speak from experience as I'm still learning about the many subtleties of the Polish language.
As a native, I can tell you that you are spot on. There are some(mostly teenagers) people who use "kochać" like that, mostly due to influence of English "I love [object]", but such use will rise a few eyebrows(and some people may even think you have serious issues with your sexuality ;) ), as far as general population is concerned.
Generally speaking, you can only "kochać" living things(but not necessarily just people - dogs, cats and so on are a fair game too), other than that you can use it to describe your feelings about your job, if that's how you feel about it. Which I guess makes sense, since usually you spend more time at work than with your loved ones at home…
Also, in cynical way to describe actions of others that you don't like/hate("Po prostu kocham gdy ona to robi."), but "uwielbiać" is used in this way just as much.
It seems like in Polish the meaning of "kochać" is just slightly more general than in Ukrainian, where you can only “kochać" ("kochaty") someONE romantically. Things like "kochanyj kit" (beloved cat) sound clumsy. Although, there are exceptions like "kochana dytyna" (beloved child) to describe extreme affection.
Well, the idea of "loving coffee" may be a bit strange, but it's not an impossible thing to say. I guess in the beginning someone decided not to teach the verb "uwielbiać" and then we had to stick with loving food, although it's not exactly right. But it's not such a strong rule as in Russian, I would say.
Also sometimes such stuff and what can be said really depends on the very specific person who says it and their personal opinion. I'm not sure if I myself would find "Kocham kawę" so weird (or rather I would, because I hate coffee, but linguistically that's more or less acceptable).
A slightly different meaning: while both sentences mean that we have some affection towards coffee, 'kochać' is much stronger than 'lubić'. Maybe 'adore' would be better choice than 'like', though it also has Polish equivalent - 'uwielbiać'.
To sum it up:
'love' - 'kochać'
'like' - 'lubić'
'adore' - 'uwielbiać'