One of the things that causes littering is a lack of trash cans or a lack of non-filled trash cans. Not all littering (or throwing recycling in the trash) is done out of pure malice. If you make it easy for people to throw trash out, they generally will. If you make it hard to throw trash out, many will litter. Stronger fines and other enforcement would help, but the first thing is to make sure that you actually have…
Yes, surely a primary cause. There are areas without trashcans anywhere. Which is so insane. As public policy it seems obvious to maximize trashcans everywhere to make it convenient to keep it clean.
The vast majority of people aren't out to be filthy, but humans are also lazy. To keep a city clean, make sure there is a trashcan within sight at all times no matter where you are, and nearly everyone will use them and keep things clean. Remove trashcans and lots of people will give up and litter.
Same issue with public toilets. Make them available everywhere and nearly everyone will use them, everyone is happy. Take them away and the inevitable consequence is obvious, what else are people going to do.