There have been some great answers to this. Hugo explained it well, when he wrote "No, “English” and “British” are never exact synonyms, and please don't use them that way." That's true.
Affable Geek alluded to an important point, when they wrote "(Cornwall is technically English, but just barely)." Technically English in that this is a status that has historically been imposed on it, by England. Many Cornish people in the past and today, have considered themselves as Cornish and not English. They are Celtic, with a history and language (even though they speak English, as well) that are not of England. Therefore, not English in the true sense of the word.
Basically, English is just for those things that are of England only. Including the language, even though it is used in other parts of the world, it is only of England. British, is for things that are of the entire United Kingdom, generally. So, British includes English things and others.
As an American, I naively think of British and English as exact
synonyms. I know I'm wrong, but I just don't know in what way. I am
vaguely aware that people in the UK hold strong opinions about one or
the other term and how it is applied, and using one instead of the
other has dire social implications. So there is geography (Britain vs.
England), but more importantly the adjectives British and English, and
those adjectives each one by themselves, may mean different things in
different contexts, and depending on the speaker and the listener. Can
anyone explain the nuances of the differences as used by those who
might consider themselves English (or British, if that's an acceptable
usage)? How about by the non-English/non-British (again if it's
appropriate to use such terms).
I'm British. I know that this question is an issue for a lot of people in the world. It can be explained simply.
Most people are familiar with the words England and English but, are not as familiar with the other words, like United Kingdom, Britain, British, Scottish, Welsh, Northern Irish or Cornish. Therefore, they assume that England and English apply to everything of the UK. It is an assumption based on a lack of information.
A simple way to understand it, is to compare the UK to the USA. The USA is a country made up of states. Each state, with a different name. People can be New Yorkers or Californians and they are Americans. However, not all Americans are New Yorkers or Californians.
For the UK, replace the word states, with the words "home nations". Then, replace the state names with the names Scotland, Wales, England, Cornwall, Northern Ireland. Scottish, Welsh, English, Northern Irish and Cornish are the words for describing things that are of each of these home nations. People can be English and they are British. However, not all British people are English.
I know that the UK and the USA are not entirely comparable but, for the purposes of this subject, the comparison is a suitable one.
There is one other point that is worth making, in regards to this subject.
The word British, does not only mean things or people that are of the UK. It also applies to the things or people that are of the overseas territories of the UK. Whether colonies, dependencies or anything else; these are territories that belong to but are not part of, the UK.
These include examples such as the Falkland Islands and Gibraltar. Even the Isle of Man, which is close to the UK but, still not part of it. These are all British overseas territories and their peoples are British citizens.