The Facade Pattern is based on the concept of simplifying activities. It allows us to wrap complex procedures in a facade class and afterwards utilize these procedures by one simple method call. For this reason it is categorized as a structural design pattern.
The Command Pattern uses an object to represent a method (aka command), which can be call upon later by an invoker. This means that it will be possible to send methods around the system and call upon them whenever they are needed.
The reasoning for using the Decorator Pattern is to obtain the advantages of class inheritance within a dynamic context. (aka. at runtime.) This allow objects to add and remove additional features while the program is running instead of specifically declaring it when the program compiles.