If you tell him, "Nothing until you eat this," then take it away and give him something he likes, all he's learned is 1. Mom doesn't mean what she says, and 2. If I wait long enough, I'll get what I want.
Try only eating at mealtimes - no snacks. (After his eating habits are better, you could go back to serving snacks, but only what you choose, in the portions you choose.) If he chooses to eat nothing, he won't be malnourished, he won't starve, you won't be a bad mother. Don't try to trick, cajole, or force him into eating. Put the food in front of him, eat yours, then take his away. Be very calm and matter of fact. When he complains that he's hungry, say, "You have to wait for the next meal. It'll happen (after Dad's home, after your TV show, whatever will give him a sense of time). Don't pay a lot of attention to what he does or doesn't eat. Kids love to be the center of attention, and if he knows you'll throw a lot of effort into getting him to eat, he'll take advantage of that.
Don't let this issue cause you to cave in whenever he wails. Children have parents because they're unable to take care of themselves. They are unable to make reasonable decisions about serious matters like health or safety because their brains aren't formed enough, and they lack the necessary information and experience. You can't put a 3 year old in charge.
Let him make food choices in the store, within reason - choices like bananas or apples, canned corn or corn on the cob, Cream of Wheat or oatmeal. If he wants baby food, give him baby food. Some people have texture or smell issues, and everybody's taste is different, and that's OK to a point. He might be more willing to try something if he picked it out. See if it makes a difference to freeze grapes or berries, give him smoothies, or sneak pureed carrots into pasta sauce. It's OK to try a lot of different things to see what works, as long as you're not making choices out of panic or fear.
None of my kids cared for beef, but they loved chicken, turkey and pork. My son hates sauces, but my daughter loves them, so we make the sauce separately and add it at the table, so everyone can have the amount they like. Some kids won't eat salad or raw veggies unless they have something to dip them in, but my son prefers his plain, even his salad with no dressing. I truly dislike raw broccoli, but I love it cooked. Variations are OK, but I'm not making a seperate meal!
Good luck. He'll be healthy, don't worry - if toddler eating habits doomed us, we'd all be doomed.