What is the difference between smart and clever?
Neither of them is offensive.
Technically, a smart person is an educated person, someone with a lot of knowledge. This knowledge may come from education or experience, but it's there.
A clever person is someone who can figure out almost any situation. It doesn't necessarily mean he has the required knowledge, but he's handy, so he can always solve whatever comes his way.
Should I over-emphasize this, just for the sake of your better understanding the difference, a smart person knows the theory, a clever person knows the practice.
I've noticed that there is a slight difference between typical British and American usage of these words. In the U.S., clever usually implies a certain amount of ingenuity, while smart implies general intelligence or knowledge. There is a feeling of lightness to clever; it is usually used for "little" things like a quick wit in conversation. A typical good student would be referred to as smart, while a trickster might be called clever.
However, in the U.K. it seems more common to use clever to mean either ingenious or generally intelligent. That is, clever is used both for the American sense of clever as well as the American sense of smart. British smart can mean exactly the same as clever, but it seems clever is the preferred term. This relegates smart (in typical use) to something more akin to "wise" or "sensible".
The two are virtually identical, and in most uses, as strong case could be made for either one. However, clever seems to imply level of originality and imagination, where smart could just be well thought out.
A good example of the difference, is illustrated in this apocryphal story about NASA:
During the space race in the 1960's, NASA was faced with the huge problem of how to write in the vacuum and weightlessness of space. There is an email that makes the rounds stating that NASA spent $1.5 millin dollars developing a "space pen," and that the Russians facing the same problem simply used a pencil.
In the preceding story the Americans are smart and the Russians are clever.
I think because of this difference, clever is the one used sarcastically much more than smart. Similarly to calling someone a genius to imply stupidity.
The difference, the way I see it and emphasized, is that smart always implies intelligence, while clever does not (it implies that something is made in a way that is very effective; which can directly imply intelligence).
This is supported by etymologies and dictionaries.
Smart comes from sharp referring to wit, and this meaning is mostly kept. However these days in BrE the sense of BrE neat/AmE sharp and attractive seems to be prevalent and the meaning of intelligent is perceived as Americanism. This dictionary entry seems quite good.
Clever on the other hand comes from a low word that comes from handy, dexterous. Although not a primary meaning of the word, it did not get lost, as it is possible to say that someone has clever hands, meaning skillful hands; where saying that someone has smart hands would need to be explained by the context. Also, see the dictionary.
Here are some examples where you can not substitute clever with smart
I have a clever place to hide a car.
Bill's very clever with his hands. The mechanism is very clever.
Although there is a significant difference between BrE and AmE I believe that in recent years the meanings are getting closer to each other and this particularly due to many new clever gadgets and especially smart devices.