They behave differently
IIS has a host of configuration options and at the end of the day the final product will probably run on IIS
With that in mind its probably best to develop on a machine that has the same configuration as your final target to ensure everything runs ok
you ahve to consider things like security - impersonation and delegation of credentials.
Allowing access to network resources by various internal user profiles.
The internal host is great for sample projects and quick tests, but i wouldnt develop a professional piece of code using it.
I would recommend that you set up IIS on the machine you develop on / or a dev server and use this for development. the advantage of hosting IIS on your machine for development is tha tyou do not need to use the remote debugger or constantly push your new code to the dev box and publish it.
Once you have it set up locally you won't know the diffference between it an the internal vs host - because you won't need to change its configuration again. Also I cannot tell you how many problems i have encountered when you move an internally hosted website to IIS.
There are also testing advantages as you can reach your services / front end via http addresses on your local host.
EDIT:
after reading the other dudes answer and Scotts blog I gotta say iis express looks pretty damn cool. Although sadly if your developing you have probably already paid the costs for the environment. IE its probably easier to just install the iis component in windows if available. But for me at home, its great news!