Прокси позволяет отлавливать какие-либо действия с объектом и перенаправлять их на другой объект, либо направлять в назначенный обработчик. По-моему, довольно полезная вещь - сэкономит множество строк кода в некоторых ситуациях. К примеру, вместо того, чтобы в разных местах прописывать что-то после изменения свойства объекта, можно назначить 1 обработчик, который сам будет все делать.
Ну а Reflect - это просто набор полезных методов для работы с объектами, половина которых - просто переписанные сущеествующие.