First,i'd like to give the concept behind adding this feature in asp.net 2.0 which wasn't exist on asp.net 1.x :
In asp.net 1.x,the page on the initial request takes long time,because the compiler is compile the page on the initial request,but this only happen on the initial request and any other calls is more faster than the initial request.
In asp.net 2.0 they provide this option to minize the time for the compilation on the initial request,by pre-compiling all code for the aspx pages and code inside app_code folder.
This post is to dig into the Precompiled option when you try to publish web site in asp.net 2.0,this options is useful for 2 points :
1- Precomiled option will compile all aspx pages and master pages to a dll,then you have another option if you want to make your web site updatable or not means : you can go directly go and edit the pages or you have to compile again and deploy if there's any changes.
2- This option provides you with security: all you code inside aspx pages and master pages can't be decompiled on the target directory will be binary assembly file.
For more information ,read this article: