it's a public database for when you don't feel like trusting the people who run it, or the other people who might be using it. very limited use cases outside of just currency. like a traditional SQL database, a blockchain can accept multiple data types and different kinds of schemas. the second thing anyone ever tried to do with it is domains, and that might become more useful as governments and traditional domain registrars become more strict. like a traditional SQL database, a blockchain can also accept stored procedures and triggers, which other people can later interact with. this can be used to automate different types of financial instruments, which used to require banks and other types of middlemen.
to participate in running a blockchain, you have to do a lot of something that takes effort, own a lot of something that is scarce, or both. on top of that you also have to seed a copy of the database to other users, and only allow stuff to be added to it if it follows the same rules that others are following.
if you allow something into your copy of the database that most other people would not allow, they won't be able to see your updates anymore. consequently, they won't be able to acknowledge any rewards or transaction fees you subsequently collect. you get kicked out of the network. if enough people want to agree to change the rules, then it becomes the new rules.
sometimes the database isn't really open to new participants, and only a single company or a handful of companies are allowed to maintain it. sometimes the database is allowed to grow at such a fast rate that it becomes too difficult for new participants to join in and help run it. this harms decentralization. conversely, if you make the requirements for participating too low, the database won't be able to handle a lot of users. the existing users will want to outbid each other to get their data included in a limited amount of space, causing fees to spike, driving activity to other databases.
you can't just make the growth or space infinite. nobody knows the correct rate of growth. 2 megabytes every 10 minutes or 20 or 200, nobody actually knows the optimal number. but if you somehow hit that number and wanted more space, you would have to find a way to offload the transactions to a different type of system that is somehow connected to the main blockchain, without compromising on too many of the rules and protections for the data. this is extremely hard and only a few blockchains are trying to do it. most of them either don't have enough traffic to justify it or their devs are too lazy to attempt it.