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.