Message brokering across different systems, with transactionality and the ability to have fine tuned control over what happens using Java (or other languages), instead of a heavy, proprietary languages. One situation that it doesn't fit very well (as far as I have experienced) is when your workflow requires significant data mapping. While possible when using Java tooling, some other visual data mapping tools in other integration frameworks are easier to work with.
They're great to embed logic and code in a medium-small, cloud-native application, but they can become quite limiting for complex, enterprise applications.
Camel has an easy learning curve. It is fairly well documented and there are about 5-6 books on Camel.
There is a large user group and blogs devoted to all things Camel and the developers of Camel provide quick answers and have also been very quick to patch Camel, when bugs are reported.
Camel integrates well with well known frameworks like Spring, and other middleware products like Apache Karaf and Servicemix.
There are over 150 components for the Camel framework that help integrate with diverse software platforms.
They natively integrate with many triggers from other Azure services, like Blob Storage or Event Grid, which is super handy when creating cloud-native applications on Azure (data wrangling pipelines, business process automation, data ingestion for IoT, ...)
They natively support many common languages and frameworks, which makes them easily approachable by teams with a diverse background
They are cheap solutions for low-usage or "seasonal" applications that exhibits a recurring usage/non-usage pattern (batch processing, montly reports, ...)
My biggest complaint is that they promote a development model that tightly couples the infrastructure with the app logic. This can be fine in many scenarios, but it can take some time to build the right abstractions if you want to decouple you application from this deployment model. This is true at least using .NET functions.
In some points, they "leak" their abstraction and - from what I understood - they're actually based on the App Service/Web App "WebJob SDK" infrastructure. This makes sense, since they also share some legacy behavior from their ancestor.
For larger projects, their mixing of logic, code and infrastructure can become difficult to manage. In these situations, good App Services or brand new Container Apps could be a better fit.
If you are looking for a Java-based open source low cost equivalent to webMethods or Azure Logic Apps, Apache Camel is an excellent choice as it is mature and widely deployed, and included in many vendored Java application servers too such as Redhat JBoss EAP. Apache Camel is lacking on the GUI tooling side compared to commercial products such as webMethods or Azure Logic Apps.
This is the most straightforward and easy-to-implement server less solution. App Service is great, but it's designed for websites, and it cannot scale automatically as easily as Azure Functions. Container Apps is a robust and scalable choice, but they need much more planning, development and general work to implement. Container Instances are the same as Container Apps, but they are extremely more limited in termos of capacity. Kubernetes Service si the classic pod container on Azure, but it requires highly skilled professional, and there are not many scenario where it should be used, especially in smaller teams.
Very fast time to market in that so many components are available to use immediately.
Error handling mechanisms and patterns of practice are robust and easy to use which in turn has made our application more robust from the start, so fewer bugs.
However, testing and debugging routes is more challenging than working is standard Java so that takes more time (less time than writing the components from scratch).
Most people don't know Camel coming in and many junior developers find it overwhelming and are not enthusiastic to learn it. So finding people that want to develop/maintain it is a challenge.
They allowed me to create solutions with low TCO for the customer, which loves the result and the low price, that helped me create solutions for more clients in less time.
You can save up to 100% of your compute bill, if you stay under a certain tenant conditions.