I'd use Drupal + Ubercart.
Don't use the core blog module... It's limited. Instead use CCK, Views and Taxonomy to create a new content called "blog" and use views to create your blog main page. You can then quite simply add whatever functionality you want for tagging (taxonomy) displaying and archiving.
As far as your product comparison goes, you're probably going to use views and some sort of filtering from several product attributes but I'm certain if you have you logic figured out it can be achieved.
Emails will have to be done with a cron job of some sort probably set up and activated through your Ubercart. I've never done that with Ubercart so I don't quite know exactly how.