Hi @mitpu
I have been using AEM as a Headless CMS for over couple of years now and is working well for our organisation.
Although, it would be difficult to cover everything here, but I can let you know some of the key bullet points.
Biggest advantage in my personal experience has been the use of modern frontend languages. We are now able to modernise our front end tech stack and use latest front-end frameworks like Next.js for the pages which involves a lot of user interaction, thus enabling us to produce sophisticated user experience.
You can go through this article as to how to implement it - https://medium.com/@madanchitra13/using-aem-as-a-headless-cms-6e659b4c500f
It has been useful to us not just from FE perspective, but also from AEM development perspective, as we have to just make sure the content is right, without worrying about how it is rendered and also has the biggest advantage of streamlining your content across different channels like web, mobile and apps, as the same content can be across all of the channels.
Initial Setup: You should spend some time initially to decide and think through how you should expose your content, how the content fragments should be organised, specially if you have to cater to different brands, regions, languages, channels and products. Once this is perfected, you just have to build upon it.
Core Principles: You should define the core principle of whether to use traditional AEM or Headless or Hybrid, for your particular use case. For example, for some of the pages, we are using traditional AEM, as those are static pages and gives content authors the flexibility of having fully configurable pages, which are updated frequently.
Performance: Make sure the performance of your Headless APIs is really good, so that there is no impact on the FE page, which is using these APIs. For this, leverage as much caching as possible.
https://medium.com/@madanchitra13/caching-strategy-for-aem-as-a-headless-cms-317e7f389875
These are some of the key points to consider. Please do not hesitate to contact me for any specific queries.
Hope this was helpful.
Thanks,
Chitra