По какому принципу создавать контроллеры в MVC?
Catalog
    Controller
        Admin
            ProductController.php
        ProductController.php # ReviewManager используется тут
    Entity
        Product.php
        Review.php
    ReviewManager.php
Order
    Controller
        Admin
            OrderController.php
        OrderController.php
    Entity
        Order.php
        Item.php
User
    Controller
        Admin
            UserController.php
        UserController.php
    Entity
        User.php
либоController
    Admin
        Catalog
            ProductController.php
        Order
            OrderController.php
        User
            UserController.php
    Catalog
        ProductController.php # ReviewManager используется тут
    Order
        OrderController.php
    User
        UserController.php
Entity
    Catalog
        Product.php
        Review.php
    Order
        Order.php
        Item.php
    User
        User.php
Catalog
    ReviewManager.php
как больше нравится
Не уверен нужен ли ReviewController, зависит от функциональности. Если это просто виджет на странице с недавними товарами, сделал бы в публичном ProductController
Подключите SonataAdminBundle для админки, а для обычного вывода используйте как вы указали ProductController. Но учтите что контроллеры должны быть максимально тонкими. Там не должно содержаться бизнес-логики.