My understanding is that spam filters work on detecting specific words in email subjects. As spammers work out these words they change the subject name to allow these emails through.
I am finding now that spam I recieve is coming in under very simple subjects (as in what you would email to a friend).
We will never get rid of spam, we just have to be cautious with what we open.
My theory is if you don't know who its from, delete it!