Ну это очень разные вещи.
Box нужен, чтобы
А) владеть объектом, размер которого неизвестен компилятору (например dyn Error)
Б) владеть объектом большого размера, чтобы не тратить время на его перемещения по памяти
В) владеть за-Pin-енным объектом.
Ну и еще пара нишевых приминений.