How accurate is IP based Geolocation?
Can it be used for server redirection based on IP address/location? Any other method to get exact zipcode of that location?
How accurate is IP based Geolocation?
Country level (or in the US state level) is usable, beyond that it's not precise enough. I don't have specific statistics, but from experience I would guess a rate around 70% correct results for city level precision. And around 95+% correct results for countries.
Can it be used for server redirection based on IP address/location?
Depends on how what you wish to redirect to. If you wish to redirect to city specific pages then it's probably not a wise plan. On the other hand if you wish to redirect to different language versions of your site you're better off looking at the language request headers.
Any other method to get exact zipcode of that location?
The most precise results that are possible to get is using the HTML5 Geolocation, obviously that is however client side and not server side.