When do we use each of the following cases? Is there even a difference between them?
中国歌 means "China song" or "Chinese song"; 中国 (China) is an adjectival noun-- the song is either about China or it is in Chinese language.
中国之歌 means "song of China"; 之 is a (relative or true) possessive determiner-- The song is either about China or China actually possess the song.
中国的歌 means "China's song"; 的 is a (true) possessive determiner-- China actually possess the song.
Difference between true possessive and relative possessive:
之 in 将死之人 is a relative possessive determiner. 将死 is not a noun, therefore it can't possess the object 人. 之 only indicates 人 belong to the state of 将死.
If 中国 in 中国之歌 is the subject noun, then 之 would indicate the song belong to China--it is China's song.
If 中国 in 中国之歌 is an adjectival noun, then 之 would indicate the song is about China.
Besides these lexcical differences introduced by others.
In daily circumstance,
Typical 中国歌 means a song published from China in Chinese by Chinese with China style.
中国之歌 means the song is about 中国.
We are the Champions is a 冠军之歌
Sweet Home Alabama could be a 阿拉巴马之歌
中国的歌 means from China
关于什么什么的歌 equal to 什么什么之歌
冠军之歌 = 关于冠军的歌