Controlled vocabulary means that within the system some predefined terms are used for organisation - users cannot add their own terms.
Controlled vocabulary within Information Architecture is subdivided into:
- Taxonomies (typically hierarchical structures).
- Faceted classification.
If tags are predefined by the system and users can't change them, they serve as controlled vocabulary. If users can change (add to) them, they contribute to a 'folksonomy'.
Keyword, on the other hand, are key words related to something. Involving highly contextual nature (rather than organisational), you could argue that an article's keywords may involve such diversity that users must be able to change these.
Tags and keywords within your context can be very similar. But you can argue that you can tag a task as important, but important is not a keyword in such case.
The problem with folksonomies is that they needs moderation, analysis and some tiding up; like marking 'IA' as the same as 'Information architecture'. Ideally, instead of doing this job yourself, you provide users with means to do it.
The problem with controlled vocabularies is that you force users to use a constrained list of terms, which are often based on assumption rather than research. Also, controlled vocabularies are little dynamic - shall new terms emerge, you'd have to add them yourself.
I'm not sure you use the term correctly, because relations are often realised by links (think wikipedia). Tags and controlled vocabularies are classification mechanisms, not relation mechanism (other than the obvious fact that all items under a particular class are related). But the two are rather different concept. So was it classification you meant?