They are definitely not interchangable.
Trying to literally translate them to English you would end up in
kio = what
kiu = which
A rule that I find quite useful is
If it stands with a nounish word, it's "kiu", if it stands independently it's "kio".
Example:
Kio estas en la skatolo kaj kio estas sur la tablo?
En la skatolo estas skribiloj kaj sur la tablo estas unu skribilo.
As opposed to
Kiuj skribiloj estas en la skatolo kaj kiu skribilo estas sur la tablo?
In the first example "kio" stands indipendently and in the second example it stands together with the noun "skribilo(j)". According to the form of the noun, "kiu" also takes the plural and accusative markers.
What is sometimes confusing is, that you'd drop the noun that stands with "kiu". For example again the above dialog
Kio estas en la skatolo kaj kio estas sur la tablo?
En la skatolo estas skribiloj kaj sur la tablo estas unu skribilo.
Kiuj estas en la skatolo kaj kiu estas sur la tablo?
The answer to the first question made it clear, that we are talking about several pens in the box and one pen on the table. So in the followup question we can drop the noun, because we can assume it out of the context.
So in order to "kiu" to be able to stand alone there has to be a clear context, which noun it is refering to. If there's no such context it is usually assumed that one is talking about a person.
Kio alvenis? (What has just arrived)
Aŭto.
Kiu sidas en la aŭto? (Who is sitting in the car?)
Mia patro kaj lia hundo.
If you ask
Kio sidas en la aŭto?
a possible answer would be
Persono kaj hundo.
Kiu hundo sidas en la aŭto? (Which dog ...)
Tiu de mia patro. (My father's one)
The corresponding -io and -iu words behave similarly.