It depends. If you need to use threads then of course you need to use them and that's that. If there is some lengthy work and you don't want your GUI to get stuck threads could be the answer.
But if there is a way to do your thing without using threads I suggest you do it the other way. Threads means thread context switches, which luckily aren't as slow as process context switches, but still bring some overhead. Threads can also mean synchronization problems, deadlocks, race-conditions etc.
(goes to offended mode) I know how to use threads. I've been doing programming some fifteen years. But still I would avoid them if possible.
And back to the topic... What's with the threads? :)