It is and it does store state, just not the unnecessary stuff (like pixel of every picture) 'cos it won't be feasible, in like decades, even in other blockchains. The reason why there are entities called messages is to distinguish between other actions such as voting, liking, transferring, etc., where their addresses can be used by other accounts for these accounts to be able to perform those actions too.
You might want to ask if they store important information of these messages (voting, liking, transferring), of course EOS does! And these specific important information on these messages becomes what you call "state" when block producers bundle them together inside blocks and then store it in the database permanently.