Not all wines are created equal. That should be obvious. The first clue is if it comes in a box, it is more like fruit punch with a kick than a good wine. Wines have different tastes depending on several factors like:
The area that it is from
The age of the wine
How the wine was stored.
Choosing a bottle of wine to drink with your meal is dependent on the type of meal that you are enjoying. Typically fish and chicken is better served with a nice white wine. There are exceptions of course. If the chicken is prepared in a red wine, then going for a red wine to drink with the meal would be more appropriate. If you are going for a white wine, you can try a chardonnay for a smoother taste. Or if you prefer a sweet wine go for a Riesling.
If you are eating meats like steak or ribs then go for a red wine. It will bring out the flavor of the meat. Cabernets are typically heartier while Merlots tend to be a bit more mellow. If you want a particularly hearty glass of wine you may want to try a Bordeaux. For a wine with a bit of spice and kick at the end, try a Shiraz.
The main thing to remember is that your food and wine should compliment each other. You do not want one to overpower the other. Also if you are serving several different wines during dinner there is a general rule of thumb to follow:
1) Serve dryer wines before sweeter ones.
2) Serve lighter wines before more full bodied ones.
3) Serve the wines with the highest alcohol content at the end. The food will absorb more of the alcohol and they will leave feeling good and less tipsy.
Your meal and wine choices should build momentum. That is why most restaurants serve appetizers then an entrée then dessert. You are building up to the typically heaviest portion of the meal. The same can be said for your wine choices. Start off subtly to awaken the palate and then build on that. For dessert you should serve a sweet after dinner wine or drink. You are pairing the wines with each course and they should match in lightness or heartiness depending on the food and the wine.
If you are about to have a dinner party, why not have a test run. Create the dishes and choose your wines. Test it out with your partner or a good friend. You can see honestly if the pairings work, while perfecting each dish. And then when your actual dinner party occurs you can feel confident that there will be no complaint about the food or wine selections. At the end of the day, all they will be able to talk about is how fabulous it all was, and that is something any host can be proud of.