My all-time favorite zero-homer season: Ozzie Smith's 1987. He played in 158 games, and (for the second straight season) didn't hit a home run in even one of them. But in addition to playing better shortstop than anybody else in the Milky Way, Ozzie also batted .303, scored 104 runs, drew 89 walks, struck out (only) 36 times and stole 43 bases. And when baseball writers tell you they're not impressed by home runs, don't believe them. Andre Dawson, who hit 49 home runs but didn't do much else, won the MVP award. Ozzie Smith, having his best season for a first-place club, finished a fairly distant second.
So, yes, a homer-less player can be good, and occasionally even great (though of course that's rare). There aren't many Ozzie Smiths out there, but there are other things a player can do when the power stroke isn't working (or is simply nonexistent).
He can compensate for a paucity of home runs with a surfeit of doubles (and/or triples). In 1977, Expos second baseman Dave Cash didn't homer, but he did finish second in the National League with 42 doubles. In 1933, Cubs second baseman (and future Hall of Famer) Billy Herman didn't homer, but he did hit 33 doubles (and play his usual solid defense).