The reason is pretty simple: data is valuable.
If your numbers are bad, you're embarrassed, and you don't want to release them.
If your numbers are good, you want to keep them secret, so your competitors don't know what to prioritize.
Sales numbers are a very small, relatively innocuous bit of data, but they can still be very telling. There are much more valuable types of data to protect, such as marketing data. Since I work in mobile, I'll give y'all an example of how precious this is in my industry--
Because games are constantly churning users, in order to maintain revenue, developers are constantly spending money to acquire fresh users, usually through serving ads. Let's say that your average user is worth a lifetime value (LTV) of $10. This means that in order to be profitable, each new user you acquire must cost less than $10.
The creative (AKA the advertisement) that's delivered to a viewer can be the determinant of that cost. Because you can't predict user reception, and because the market is constantly shifting, big companies like King, Peak, and Playrix generate and run hundreds of creatives each week, some with minimal changes like call-to-action placement or copy differences. These creatives are run against each other on ad networks and evaluated, with the winning changes then compiled for the next cohort of creatives. The difference between a good and bad creative is stark--given that $10 LTV, a cost-per-install of $1 on a good creative means a $9 profit, and a CPI of $20 on a bad creative means you just lost $10.
This sort of data is invaluable, and knowing what creatives work and don't work can make or break a company, so this data is held in utmost secrecy. Give me a 90 day retention chart for a game and I will tell you within 5 minutes what's wrong with the game. It's powerful stuff.