Адаптор - частный случай декоратора. Отличие скорее в том, что декоратор может быть масштабнее (содержать в себе много сущностей, в то время как адаптор, как правило, реализует интерфейс для определенного типа).
Прокси - противоположность первых двух, т.к. ее задача - быть прозрачной на стыке взаимодействия типов и не менять интерфейс.
Оберткой может быть любая агрегация, это общее понятие, грубо можно предыдущие типы назвать (реализовать) обертками. Но чаще это означает дополнение оборачиваемого объекта какими-либо данными. Допустим, метаинформацией.