they both look a bit similar in the way they carry out the job. Like traversing through the component they compose which happens to extend the same interface.
The difference being CP is more of a tree while DP is like a chain with new bahaviors added on the way. somehow they look similar in certain ways. Do they?
My doubt with CP is that how it works in case of Objects of different kind?
Use Composite pattern if
1. You need to keep either object or group of objects inside another object.
2. and If behaviour of groups and single object might be common.
Use Decorator if
1. You have variations of an operations at runtime
FileWriter file = new FileWriter("test.txt");
BufferedWriter writer = new BufferedWriter(file); //we can compose one stream from another