There are some major differences between these to methods.
I think the major difference is that Response.Redirect sends an HTML Status Code to the web browser indicating that the browser should redirect to the other page.
The Server.Transfer doesn't tell the browser to redirect the user, it changes the user to the new page on the server. This means that you cannot use Server.Transfer to send the person to a web page that isn't on the server.
When you use Server.Transfer, the URL in the browser's address bar doesn't change because the user was moved to the new page on the server.
Also, when you use Server.Transfer it could be configured in such a way that all of the variables and controls that were available on the first page are made available to the page that that the server transferred to. (To do this you specify that preserveForm = true...this is the second parameter of the Server.Transfer method)
For example, say you have DefaultForm1.aspx which has TextBox1 on it....now you use Server.Transfer to DefaultForm2.aspx. DefaultForm2.aspx will have access to TextBox1 that is located in DefaultForm1.aspx.
This can be very confusing and can lead to some major problems with debugging....but then again it can be very helpful if you use it properly.
Transferring to another page using Server.Transfer conserves server resources because there is less traffic. As apposed to Response.Redirect, which sends a response to the browser telling it make a new request to the next web page, Server.Transfer changes the "focus" on the Web server to the next web page and transfers the request. This means you don't get quite as many HTTP requests coming through.
When you use Server.Transfer the URL in the web browser isn't pointing to the actual page that the user is viewing. This means that things like relative links/image paths may not work if you transfer to a page from a different directory.
I tried using Server.Transfer for a wizard-style registration system once and I ended up experiencing so many problems with it that I chose to go back to using Response.Redirect (and then I did away with separate web pages and just used User Controls on 1 web page so I didn't have to use Response.Redirect either).
I know that Server.Transfer sounds like the best way to do things (if you aren't directing people to a different website). But, if I were you I'd do more research in to the topic. I'd give Server.Transfer a try and see what all of it's quirks are and then make a decision on which to use.
You always learn best from experiencing things...and the only way to experience is to try it.
-Frinny