Это близкие по смыслу термины и при переводе некоторых текстов взаимозаменяемые. Например, в разных русских переводах Соломон называется и "Царь Соломон" и "Король Шломо".
Этимологически, русское слово "царь" происходит от древнерусского цьсарь, где "ь" читалось как короткое "и". А цьсарь происходит, соответственно, от греческого Καῖσαρ, высшего дворянского титула в Византии, которым обозначались со-правители императоров (Василевсов). Отсюда же немецкое "кайзер". Кстати, султан Мехмед-II после завоевание Константинополя принял на себя турецкий титул "Кайсери Рум" -- букв. "Император Рима". В 1547 году Иван IV принял на себя титул "российского царя" и государство стало называться "русским царством" или, на византийский манер, "российским царством" (в Византии Великое Княжество Московское [неправильно] ассоциировалось с библейской страной Рош). Термин попал, к нам не напрямую, а через болгарский язык: еще в X веке в болгарских летописях царь Симеон именуется "цар". То есть, балканское влияние через болгарский и сербско-хорватский имеет место. Изначально, все эти титулы происходят от титула Гая Юлия Цезарь -- собственно, Caesar.
Слово "король" в современном русском от церковнославянского крал̑ь, болгарского кра́лят и сербско-хорватского кра̑љ. Это заимствование от имени Карла Великого: Karal, Karl. Разные лингвисты пытались производить слово "король" от исконно славянских основ, но все эти гипотезы оказались несостоятельными или маловероятными.
В бытовом уровне словом "король" было принято называть "западных" монархов (король Франции, король Испании), а словом "царь" -- "восточных" (Российский царь, царь Болгарии (пример -- царь Симеон) и т.д.), а также слово "царь" закрепилось при описании древних царств ("царь Давид", "царь Соломон", "цари Ассирии", "цари Вавилона", "царь Артаксеркс" и т.д.)
На английском и то и другое -- klng (но может использоваться заимствованное через русский tsar или czar применительно только к царской России), а на латыни и то и другое -- rex, как и в немецком и то и другое -- koenig. Во французском и русские цари и западные короли назывались словом roi.
Вцелом, разница какая-то такая.