First, the de/di phenomenon is not 文白异读 (literary-colloquial distinct readings).
The term "文白异读 (literary-colloquial distinct readings)" have strict academic definition. Not every homograph is 文白异读 (literary-colloquial distinct readings). Not every literary-colloquial distinction is 文白异读 (literary-colloquial distinct readings).
Books on Chinese phonology do not list de/di as 文白异读 (literary-colloquial distinct readings).
The differences between 文白异读 (literary-colloquial distinct readings) are systematic in nature. For instance, there is an (u)o/ao relationship:
薄 bo bao
剥 bo bao
落 luo lao
烙 luo lao
凿 zuo zao
Such a systematic relationship is not a coincidence. This is so because 文白异读 (literary-colloquial distinct readings) reflects the contact of two sound systems. It is systematic in nature.
But it is not the case with de/di. There is no systematic relationship with the e/i pair.
So what is it?
"De" is just a weak form of "di". In Chinese, words seldom have weak form. But "的" is so common (it is the most commonly used character in modern Mandarin, both oral and written), and its meaning is so not concrete (it has no real content meaning; it is a function word that serves a lot of grammatical functions), it has a weak form. It takes the schwa sound, just like the typical weak form of an English word, because the schwa sound is the most neutral, some would say the easist sound that a human mouth can make.
Its written form is stabilized only recently. In 1940s, some writers still use "底" (di).
Two other similar words are "着" and "了". Both take the schwa sound as the weak form: "zhe" and "le". Note that the "proper" pronunciations or strong forms of these words, "di", "zhuo" and "liao", have no similarity at all. Their common feature is in there grammatical function.
In older songs (songs in the 1980s for instance), you can still hear singers use "zhuo" and "liao" respectively. But as I have noticed, these two pronunciations are fading more quickly than "di". You can still hear "di" occasionally in new songs, but "zhuo" and "liao" can only be heard in really old songs.
Naturally, weak forms are commonly used in colloquial occasions, and strong forms are used in more formal and literary occasions and in emphasis. Songs, of course, are more formal, literary and emphatic. (Yes, there is also a literary-colloquial distinction here, but it is not 文白异读 (literary-colloquial distinct readings).)
And don't forget the influence of dialects. Speakers of non-Mandarin dialects often have difficulty learning 轻声 (the neutral/fifth/zeroth tone) and weak forms. They may just stick to the strong form "di".
The two forms are more or less in in free variation. That means both pronunciations are right. It is not wrong to say "some people just do it". If you say "di", people may think you are stilted or having an accent, but they won't think your pronunction is wrong.
My recommendation is to use "de" in daily speech and "di" in songs. That way, you talk naturally and sing with refinement. :)