Our single biggest line of work is the development of Django web apps, including sites with a custom CMS.
What is the difference between a web site and a web app? A web app is software that uses the web as its under interface. In many cases it is possible to build different user interfaces - so we run the same app on a server but a user interacts with it through a website or a mobile app or a desktop app as required.
We also build web sites with custom CMSs with Django. The line can be blurred - many customers have public functionality and private functionality. The public functionality might be a custom CMS to make it easier to manage their website than using an out of the box CMS, whereas the internal functionality might handle bookings or orders made on the website (so staff login to a restricted access part of the website to manage these), or provide downloads for paying customers, or provide some other extra functionality.
Because its is productive, flexible, secure and scaleable.
We have used a lot of different platforms over the years. CMSs like Wordpress, micro frameworks like Bottle, and many more. We still do where appropriate. This site, for example runs on Nikola.
CMSs get a website up faster and cheaper. They all allow you to customize the look, but the moment you want custom functionality, they become awkward to use, making development slower and more expensive.
The end result is that we can deliver either faster, cheaper, or better by using the best tool we have found.
What we do with Django
Our customers use Django for a huge variety of tasks: custom booking systems, custom CRMs, online education/training.
One special case is a custom CMS. It is not obvious why a custom CMS is better. The reason is that it is more efficient for users - it can avoid entering the same information in multiple places, or provide better site search, or to keep the site consistent, to improve SEO by programatically adding extra data to pages for search engines or social sharing. In short, a custom CMS is built around a custom database, so we can build in "understanding" of information showed on your site into many parts of it.
In short, what we do with Django is to either provide a better website, or one that improves your operations by saving time and making information more accessible.