Try and substitute better versions of the stuff he likes, for starters.
For example, if he likes the mac and cheese in the blue box, make homemade mac and cheese. Alton Brown of Food Network has a great homemade version that tastes almost exactly like the blue box stuff. Make your own chicken nuggets with panko bread crumbs. Buy hot dogs that aren't processed with sulfites. Most grocery stores offer a variety of hot dogs and bacon that are not cured (they contain no preservatives).
Make him salads with the vegetables he likes. Make one with edamame, pinto beans, a mild butter lettuce cut up finely, and some roasted chicken with homemade taco seasoning on it, served with tortilla chips and salsa instead of dressing.
It's fine if he doesn't like bread or rolls. They're not essential.
Make a pasta dish with roasted or sauteed or steamed broccoli, cooked pasta, real grated parmigiano cheese (not the stuff in the green can), and a little olive oil. Use whole wheat or vegetable-based pasta noodles if possible.
Put roasted broccoli on a baked potato, or smoked salmon, or pinto beans and cheddar cheese.
Just take what he enjoys, add one small new item, and think of different ways to cook them.
You are not a sucky mom! You're concerned, trying to help a picky eater, and willing to be flexible. You're willing to change the habit that you got into. That's the sign of a good mom!