I have a Samsung Galaxy S2 using an unrooted stock ROM. Lately, I couldn’t update any of my apps or install new ones, as every time I tried, it would complain about Insufficient storage available. This was weird, as according to my phone, the apps took less than 600 MB, and yet I had barely 200 MB of free space in my device memory.

The culprit turns out to be the accumulation of various crash dumps and logs. Apparently, on a rooted phone you can delete everything in /data/log, but on an unrooted phone, that folder will appear empty. Luckily, there is another way to clear the logs that doesn’t require root access, but it’s kind of hidden: You need to dial *#9900#, which will open the SysDump utility. Here you can select Delete dumpstate/logcat, which will free up the internal storage used by all those logs.
Why Android or Samsung doesn’t reveal such a magical solution, which they have designed themselves? Do they enjoy when their users get mad for insufficient storage?
Part of the Android OS designer’s responsibility is to design in automatic housekeeping. When more than one gigabyte of log files accumulate on a 2 GB device storage, this is due to negligence or sloppy engineering.