<p>We use ASP.NET, C#</p>

<p>When making an update to one of our websites, we roll out the entire site rather than updating just the pages or sections that have changed. This scares me.</p>

<p>Is this a good idea? Should I roll out only the changes? </p>

<p>Should I break my site into smaller projects? </p>

<p>What is best practice?</p>

You should always roll out the entire site.  Because the actually executable code is contained mostly in the DLLs, you can't actually only roll out the pages that changed, like you could with the old ASP. If there are parts of your website that are actually separate, you can break them apart into separate projects, and deploy each entire section separately.
Also, if putting up the whole site scares you, you probably need better testing or quality assurance standards.  There should always be a copy of your entire site that can go live at any time, in case the server dies, and you have to replace it, or something else goes wrong.