What is the best practices to achieve this?
Should I directly change OOB ProductController and add methods which return different sets of Products and then in a new Theme created I should call something like @Html.Action("HomepageProducts", "Product"), where some carousel will be used?
or should I create a plugin/widget for it? How utilize this plugin in several places on Home page.
Maybe something else?