What is the difference between threading and parallelism?
Which one has advantage over the other?
How do you define "parallelism"? Multithreading is a concrete implementation of the concept of parallel program execution.
The article RichardOD linked to seems to be mainly concerned with whether threads are actually executed in parallel on a concrete machine.
However, your question seems to see multithreading and parallelism as opposites. Do you perhaps mean programs that use multiple processes rather than multiple threads? If so, the differences are: