The actual example password is "correcthorsebatterystaple". I just didn't feel like going back and clearing the spaces. But even "correct horse battery staple" isn't in any dictionary of common words. You're not asking the computer to guess four common words in order. You're asking the computer to guess a single 14-character string.
Just "it's a string" and has X characters isn't telling the whole story. What matters is really how many bits of information are in there. Otherwise they wouldn't bother telling you to also use numbers, punctuation, signs and upper/lower-case.
For example the same 14 digit string has 84 bits of information, i.e., it's one in 2
84 or approx 2*10
25 if it's truly random from any of the characters that can be in Base 64. It's only 26
14 or approx 6.5*10
19 if it's only lowercase letters like the kind of words you and XKCD seem to propose. That alone cut down the effort to crack it by a factor of literally 300,000.
If you know it must be splittable into full correct words from the dictionary, that's cutting down the number of possible combinations even more dramatically.
"Ah," will some intellectual proletar interject right about now, "but you don't really KNOW it. Someone might not be following that advice."
Well, good for them, because that person is smart. But if enough people start following the XKCD advice -- or using phrases from songs, same idea -- it becomes a matter of bang per buck. Meaning probabilities.
Let's say only 10% of people start following xkcd's advice. So now you have this small subspace of possible passwords that meet that criterion, but can collide with 10% of the passwords, or the orders-of-magnitude bigger space of possible combinations that can get a collision with the other 90% of the passwords. Of course you'll try the xkcd ones first, because they offer an insanely higher return on investment. As in, probability to get a hit per computing cycle.