I am not a big fan of using pagerank, moztrust, domain trust, etc to decide why a site is beating me. Google uses a couple hundred factors and these look at just a few.
Tossing that aside, here is what my site would look like if I was in your space.
It would look like the competitor that you are complainin' about.
When a person lands on the site their face is SLAPPED with "Firecrackers"..... "Missles".... "Sparklers"........ ALLLLL of that stuff that gets a fireworks guy's blood pumping. YES... these guys have what I need! And google sees that they have all of this stuff... every freeking thing that a fireworks guy would search for... right out there in front and center.... one click away. Awesome!
What they would not see... A bigass image that google probably doesn't read..... two huge paragraphs of corporate chest thumping... and bunch of news that very few people care about.
Links to the blog all have same text... blog content is really thin.... it's over at blogspot!. Do you think people are really watching those videos? I don't.
Just saying what I think and what I would do. Trying to be really honest.
Your competitor puts what the visitor wants right in his face... you have what he wants but its buried.
If I owned your site I would dump the homepage and put the catalog page in its place.... but my catalog page would have a LOT more content. A LOT.
If you do that, I still doubt that you will jump up and beat the #2 site. I am betting that they have some good things going for them that are not in the PR, MT and DT metrics.