Other than the type it returns and the fact that you call it differently of course
<% Html.RenderPartial(...); %>
<%= Html.Partial(...) %>
The only difference is that Partial returns an MvcHtmlString, and must be called inside <%= %>, whereas RenderPartial returnsvoid and renders directly to the view.
If you look at the source code, you'll see that they both call the same internal method, passing a StringWriter for it to render to.
You would call Partial if you want to view, save, or manipulate the generated HTML instead of writing it to the page.