"... but what do you actually do with the decrypted traffic?"
I read it
On the most basic level, consider logging
I can add response headers with additional information about the request and these are stored in the log
I can create a comprehensive log of every HTTP request, stored in a text file or SQL database
I store these logs in an unpopular compression format that allows searching tar'd and compressed files using regex without decompressing them
(This is not possible using zstd, gzip, etc.)
I use this "browsing history" with a variety of programs
Compare this with the design paradigm of storing history inside each individual program, as is the case with a so-called "modern" graphical web browser
Other basic proxy functions that I use are (a) control over HTTP headers, including cookies, (b) control over TLS settings, including SNI, and (c) rewriting URLs
The settings are site-specific and/or URL-specific. Lists of websites that have special requirements, e.g., need for SNI, specific HTTP headers, TLS version, HTTP versions, etc., are stored in text files. These are mapped into the proxy's memory. Not every website has the same requirements
I also use CDN IP address ranges to make decisions about what requirements a website might have
Compare this with trying to control these things from within each individual program. In some cases, it is not possible. Or compare with trying to control these things with Javascript. Generally I don't use a graphical browser. Nor do I use NodeJS. I use Lua. As such, Javascript is not the best solution for me
Having lists of which websites have some specific requirement(s) allows me to learn about the sites I visit in ways that a so-called "modern" web browser does not
The same goes for controlling DNS. I learn about where website operators outsource DNS, how DNS providers (mis)configure their services and when DNS data changes or remains static for years
Perhaps the most important proxy function for me is the ability to avoid DNS lookups. The IP address data is stored in an SQL database using a simple, custom format, extracted to a text file and mapped into the proxy's memory
Using a proxy allowed me to move away from storing DNS data in, and serving it from, zone files
This is only a partial list of functions that I use. I like to experiment
Proxies today can do much more than basic functions like the ones I mentioned
For example, injecting Javascript or modifying an HTML tag before it reaches a browser is trivial, albeit inefficient from a purist perspective
This is not something I need to do most of the time. I have relatively simple needs. Most times, I'm not using a graphical browser. I'm using the command line in textmode, no X11, etc.
Cloudflare has a different use case
What does Cloudflare actually do with the decrypted traffic. Only CF knows