Rule one is never bring a bottle of wine which is either on the restaurant list or currently available at large retailers. This does not bode well for the diner.
Rule two always call in advance to inquire what the corkage policy is and what they may charge. Often a restaurant will not charge you for one bottle if you purchase a bottle from their list which is very fair.
Rule three what qualifies as a special bottle? This can range from bottles brought back from a trip, to birthday or anniversary bottles. If the wine is unique, old or of limited production this also meets the criteria of special. When in doubt ask the restaurant and they will gladly respond.
Rule four always offer the waiter or chef a taste of the wine. Many times just the offer will increase the your level of service or experience. The size of the taste is up to you. I have on occasion seen the fee waived for regular customers. Wine is a social beverage and meant to be shared in good company.
What is a normal corkage fee? This depends on the type of restaurant and their typical bottle price. I have seen a corkage from as low as $10 to as much as $75 or higher. The end goal of bringing a bottle is to compliment the food of the establishment. The restaurant can at its descression refuse to open bottles brought in by patrons. This is not a frequent happening but they are not obligated to open wine. Another tactic used to discourage corkage is to charge a very high price per bottle opened.
In the end it is helpful to always ask about policy. Always thank the staff for their help in serving you and your guests at dinner.