Out of the several ways of accessing the SharePoint model of a SharePoint Services 3.0 site from an ASP.NET application, two seem to be very similar:
SPWeb site = SPControl.GetContextWeb(Context);
SPWeb site = SPContext.Current.Web;
It is my understanding that both of these methods need to be executed from within an ASP.NET application, so what is the difference between them and is there a situation where it is preferable to use one over the other?