I think the UpdatePanel is really powerful. It allows you to write your code essentially the same as you always have, with a few small modifications. You then just wrap your ASP/HTML controls in an UpdatePanel and hey presto, you’ve got them running as AJAX controls. The problem is it makes the development of AJAX-type sites too easy. You don’t have to know what’s going on behind the scenes, you don’t have to understand the asynchronous calls made & the HTTP processes going on.