Преимущества ручного управления памятью состоят главным образом в том, что вы можете специализировать управление памятью специально для вашего приложения, делая его оптимальным и позволяя «простую» оптимизацию (по размеру и скорости).
Автоматическое управление памятью полезно, когда в этом нет необходимости, и даже комитет C ++ признает, что (есть планы добавить дополнительный сборщик мусора в C ++), но иногда вам действительно нужно контролировать то, что происходит за кулисами, потому что у вас больше видится просмотр приложения чем любой компилятор или сборщик мусора.
Выбор между обоими, безусловно, очень мощный, но он недоступен в большинстве языков.