Firstly: there is no extremely strict definition for the difference. This is because it was a term that evolved over time.
It has come to mean the difference between a single state ruled by a single monarch (Kingdom), and a situation where one state (or monarch) subjugates and controls other states. So for example, the Kingdom of Great Britain (consisting of Britain) and the British Empire (consisting of Great Britain, Canada, Australia, the Raj, Kenya, Ireland, Hong Kong, South Africa, etc, etc). See similarly the Austro-Hungarian Empire, French Empire, Roman Empire, Japanese Empire, Aztec Empire, etc, etc. You'll notice however that this is not exact. China was considered to be an Empire, but the Chinese would argue that it was not a matter of China subjugating other states, but China growing bigger. Nevertheless, it was referred to as an Empire because it was so big and included many different ethnic groups, languages, etc.
Essentially, this is a development of the late Middle Ages.
To really understand, we have to go back to the origin of the word Emperor, the Latin word Imperator. This is a title used by the rulers of later Rome, such as Augustus Caesar, to differentiate themselves from the much earlier, hated, Kings (Rex) of Rome.
After the Western Roman Empire collapsed, Emperor was still seen as a title of great prestige. It was, I should point out, still used in the Eastern Roman Empire (ie Byzantium), though over time it became less popular and the rulers began to be referred to as Basilieus (you'd have to ask a Byzantine historian to tell you why, I don't remember).
Now, as it was such a prestigious title, when Charlegemagne rose to prominence as King of the Franks, ruling a very large area, converting (by force) the Saxons, protecting the rights of the Pope, and defeating a Muslim invasion, the Pope gave him the title Imperator (Emperor) as a prestigious reward. Essentially, saying that he was the ruler of the Roman Empire. Thus, you had the creation of the Holy Roman Empire, which over time evolved to be a huge area of Europe, but one in which local rulers had a lot of power. Unlike, say, England, the states within the HRE were very significant, so it didn't seem like one unified state so much as a collection of states under the Holy Roman Emperor (who was also King of the Germans, and at some points King of the Italians and King of Austria). So this is how English people (and this is, after all, a question about English terminology) saw Empires: a multi-ethnic, multi-language, huge and powerful state, like the HRE or the Byzantine Empire, or their predecessor the Roman Empire. So, this term was also then applied to things like the Mongol Empire, as the Mongols conquered and subjugated other states. As European powers began to conquer colonies and subjugate foreign nations, they saw themselves as creating their own Empires. Note that Ireland was made part of the Kingdom of Great Britain, as it was seen as an integral part of Britain, while places like Nigeria were part of the British Empire, not the Kingdom.
So the term lost its automatic link to the Roman Empire (not to say that they didn't model themselves after the Roman Empire, but using the term Empire wasn't claiming to be a continuation of the Roman Empire, like the HRE had claimed). Though, I should point out that while they referred to the British Empire, it wasn't until the latter half of the 19th century that they began to call their own ruler Empress, or later Emperor, rather than just King or Queen of Britain. This shows the way that there wasn't a formal definition. The Prime Minister just decided one day that the Queen should become Empress of India, and passed a law to that affect (though it's interesting that she wasn't Empress of Britain, or Canada, or the African areas controlled by Britain, again showing the lack of a formal definition).
As Europeans also discovered far-off lands with their own monarchs, the British tended to refer to large, powerful, and possibly multi-ethnic states as Empires (for example, the Chinese Empire) while smaller (and thus generally more homogenous, or at least, they appeared more homogenous to the British) states were referred to as Kingdoms (for example, the Kingdom of Thailand) etc. The most obvious exception is Japan, which before they began to conquer other places really fit the criteria for a Kingdom, not an Empire. But the word they used for Emperor was based on the Chinese word for Emperor, so the British translated it the same way. Still, even though they have an Emperor today, no-one would refer to the Empire of Japan to mean modern Japan, a single state that does not control any other states. The Japanese Empire would normally refer to the period when they controlled other states and territories (such as Taiwan, Manchuria, etc), prior to WW2.
Tldr; there isn't a strict definition, but normally a Kingdom is a single state ruled by a monarch, while an Empire is a large area formerly consisting of many states and ethnic groups, now subjugated by one state or monarch.
This question is a little difficult to answer, because the word "empire" is used to describe many different forms of rule, and is often applied retroactively by modern observers onto polities of the past. Each of these terms can describe a wide variety of governments and organizational systems.
I would define a "Kingdom" as a geopolitical entity that is generally ethnically homogeneous, ruled by a single figure with a royal family, with a long-standing claim to the geographical area they possess. Kingdoms don't move from one place to another, and the subjects of a kingdom are generally all identified as a single group of people (of course there will be immigrants, expatriates, international merchants, etc., but generally the population of a kingdom is all descended from the people who have always been in that area). "Kingdoms" were not generally "ethnically diverse".
Empires are generally defined by their desire for hegemony, political and economic power and authority over other "international" powers and polities. An empire can and will encompass multiple kingdoms under one ruler, and those disparate polities will remain distinct under the empire. Empires exercise powers over neighboring and even distant polities that otherwise would be completely autonomous. This power has been exercised in different ways through time. We see power exercised through conquest in many ancient empires. The Assyrians and Babylonians conquered neighboring polities and exercised power and authority over them, as did the Romans. There was flexibility in how these ancient empires administrated their subjects, from installing a puppet ruler of their own to govern, or simply accepting tribute and support. In some cases, they had to switch between the two, such as in the case of the Roman Empire's occupation of and rule over the former Hasmonean Kingdom of Judah in the first century. Initially, it was governed by a vassal ruler, Herod, but when his sons schemed and plotted and generally screwed things up, the Roman emperor installed Roman governors over the area, removing authority from the indigenous vassal rulers. The British Empire was yet another different entity, that I'll let others explain because it's not my subject of expertise.
But all these different styles of governing and ruling the things we call "empires" share one thing: power over multiple previously independent polities, which kingdoms do not.
And that is the main thing that differentiates kingdoms and empires.