1) Server.Transfer() does not change the address bar, we cannot hit back.One should use Server.Transfer() when he/she doesn’t want the user to see where he is going. Sometime on a "loading" type page.While Response.Redirect() will send you to a new page, update the address bar and add it to the Browser History. On your browser you can click back.
2) Server.Transfer() transfers current page request to another .aspx page on the same server.While Response.Redirect()redirects the request to some plain HTML pages on our server or to some other web server.
3) Server.Transfer() doesn’t preserve Query String and Form Variables from the original request.While Response.Redirect() preserves Query String and Form Variables