Those emails sound like Spam.
If it is Spam, then you need to start marking it as Spam (by clicking
on the "Report Spam" button which now looks like an octagon with an
exclamation mark or '!' in it) as often as possible! This will train
your account's Spam filter to start putting it into the Spam folder
instead of your Inbox. It may take several tries until it always
works. Just be persistent.
Never follow the "unsubscribe" links in unwanted email you didn't
subscribe to (i.e., spam). This only tells the sender that you indeed
exist and read their email, and that you are a good target for even
more Spam.
If it is spam, making your own filter should be a last resort ... but
filters do indeed work. If it fails to catch their emails, then
perhaps you have typed their address incorrectly, or they used hidden
characters ... or a '0' instead of an 'O', or '1' or 'l' instead of
'I'. In my experience, filters always work if you have entered them
correctly; when they don't work it is because the filter terms really
did not match.
You can use "Filter messages like this" (in the drop-down menu next to
the Reply arrow) to help fill in the fields with the exact text from
the message you received. This can help avoid typos.
Some people who send spam, alter their "from" address frequently, to
avoid being caught by simple filters like the one you are trying to
construct. Gmail's built-in Spam filter is smarter than that.
Using your own filter might tell your Spam filter that you don't
consider those messages to be Spam ... which is one good reason not to
use your own filter when you could/should be using Gmail's built-in
Spam filter.
As far as I know, there is no way to actually block a sender, so that
their emails don't even reach your account. But there are third-party
services or programs that can assist you in making emails from certain
senders appear to bounce.
Andy