" Apache Camel is a powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration ".
So what is Enterprise Integration Patterns? In an enterprise they may use different software to do there task easily. But those software should interact with others and will not be isolated. Therefore, software must communicate with each other. But as an enterprise software, its communication is not so easy. To overcome this problem people use a common set of instructions or patterns when they implementing an enterprise solution. Most people use "Enterprise Integration Patterns" book and it describe about 65 categorise of integration patterns which was collected since 2002. Most of these patterns use asynchronous messaging architectures with the help of EAI, SOA, or ESB platforms such as IBM WebSphere MQ, TIBCO, Vitria, SeeBeyond, WebMethods, BizTalk, Sonic, Fiorano, Mule ESB, ActiveMQ.
Beans Integration is, it provides a general purpose mechanism for processing messages using arbitrary Java objects. By using a bean reference into a route, you can call an arbitrary method on a Java object. From that you can access and modify the incoming exchange. So this bean binding mechanism is used in Apache Camel.
Then why we need camel? When you are designing an enterprise solution you need to use integration patterns and to implement that thing you may need to use messaging modules like HTTP, ActiveMQ, JMS, JBI, SCA, MINA, etc. Camel create an easy environment to use these things, such as a pluggable data format option which can interact with other modules. It is a small library with less dependencies for easy embedding in any Java application. Camel can be used as a routing mechanism for Apache ServiceMix which is a powerful ESB and JBI container. So Camel can be used in complex enterprise integration solutions to do the job with less effort.