You should understand that the "Web Setup" project and "Web deployment" projects are two different things.
The web setup project is for creating an msi that installs the web application.
The web deployment project is for creating a ready-to-deploy version of the web site. The output of the web deployment project can have the source removed (non-updatable), which is useful for hiding intellectual property. Also, it is precompiled, which avoids compilation when the web app is running.