The only sites answering this question are in Russian text, so I wanted to ask it here.
The difference is mainly in word origin. Царь comes from Caesar and король comes from the name Карл, and its derivatives are used in Eastern Europe (however, it's цар in Bulgaria). The word king coming from German root is usually translated into Russian as король while Russian царь is used as tzar/tsar in English.
Historically царь has been used to refer to any Russian monarch (as a general title) since Ivan IV (first to use it) till the last tsar Nicholas II. It was borrowed from the Byzantine Empire (cf. Ceasar) and traditionally used in Russian. Король on the contrary is used to refer to Western (Catholic, Latinized, etc.) kings. In Russian language король is associated with the west (Old World kings). In Russian historical texts you can see such titles as король Швеции (king of Sweden), король Пруссии (king of Prussia) - of almost any European country. All these terms usually mean either an absolute monarch or the most important ruler. Царь is the ruler of Russia. As the term 'emperor' (император) has been used since early 18th century for a Russian monarch, царь became a more traditional title.