title: When should we use Html Helpers, Razor Helpers or Partial Views?
body: <p>These three different features exist in the Razor view engine and can be used to achieve similar results. In the end all three of them just render pieces of HTML code, but the way to define and use them is fairly different. I know that:</p>
  
  <p>Html Helpers are created as extension methods for the <code>HtmlHelper</code> class. They frequently use the <code>TagBuilder</code> class to generate some HTML and always should return an <code>IHtmlString</code>.</p>
  
  <p>Razor Helpers (<code>@helper</code> methods) can be defined locally (in the same razor file) or globally (in the <code>App_Code</code> directory). They are small snippets of HTML code that can be reused exclusively in Razor files.</p>
  
  <p>And finally, Partial Views are just regular view files that can be included in other view files using the <code>@Html.Partial</code> helper.</p>
  
  <p><strong>My question is:</strong></p>
  
  <p>Is there a specific scenario for each one of these features? Or it comes down to different flavors to achieve the same result?</p>