I don't agree with this, but I guess it depends on your definition of horrible. They are certainly not the Pats, or Saints, or Packers, but they have a strong running game, and an average passing game. Plus a great kicker. They are the team they are because of their defense, for sure. But even the best defense can't cover for a horrible offense. They did go 13-3 this year.
No, they don't. They have a very strong running game, and the 29th ranked passing game. That's not average.
I think where most niners fans and I will disagree, is WHY the offense is so bad.
Most, will lazily blame Alex Smith for everything. They will also maybe ask for a big name WR.
I think it goes beyond that.
It goes with the ultra conservative scheme. The predictable playcalling.
IN an effort to "not screw up" they end up screwing up. The Niners aren't the only team with this issue. The other Harbaugh had the exact same issue. Bolden was lined up against a WR playing DB. Yet, the Ravens rarely picked on this very favorable matchup. Rarely exploited it. In reality, they should have been going to Bolden EVERY SINGLE PLAY.
Likewise, the Niners have matchups across the board, Crabtree and Davis. Yet, they're too afraid of "screwing up." Too conservative. They'd rather grind out the game wiht Gore. That works... Especially if you have strong defenses to back it up. But eventually, you'll need the offense to make plays. Eventually, you'll need to open up the playbook.
The Niners teased you in the final few minutes against the Saints. The Niner defense was sucking and being torn up like it were Heidi Montag at a free plastic surgury clinic. However, they opened up the offense, allowed Smith to create, and launched the ball downfield to Davis.
Result? Win.
So while everyone agrees that the offense isn't that good. Most will refuse to blame Saint Harbaugh and will quickly just blame the easy guys, guys like Flacco and Smith. In reality, the scheme was too basic, they didn't do their playmakers any favors, and the whole "offense don't screw it up" attitude ends up limiting the team's success.