actually, hyperthreading is not that bad a technology, if intel could do it right... It really helps when you're trying to do a couple things at once, otherwise known as preemptive multitasking. So, lets say you're burning a cd and you wanna play a game at the same time. Hyperthreading will help. The problem is, when you're only trying to do one task. Hyperthreading actually in more cases than not (as of the current processors out) cripple a single apps performance.
Altivec, or the velocity engine, when used with certain apps, act similarly to a 128bit processor, and uses that as its engine, instead of a 32 or 64bit engine. The problem with the velocity engine is that not all apps are designed for it, but when an app is designed for it, the processor will scream. That's why a G4 today, is still fast, maybe not as fast as a G5, or an AthlonFX or a top of the line P4, but it's still fast.
Hope that answers some your questions.