E.g. see this line of code: https://github.com/p8952/bocker/blob/master/bocker#L25
"But I thought bocker implements Docker?" It doesn't, it only attempts to implement the "Docker daemon" part, and piggy-backs on Docker registries for image distribution. This is a huge part of the power of Docker, and why Docker isn't "just cgroups and namespaces". Cgroups and namespaces are a critical element, but Docker is much more than that too--it's also a set of standards for distributing and administering configuration+data for cgroups and namespaces.
That sounded wrong intuitively, so I decided to look it up: Wikipedia claims that mp3 was initially released in 1993, and the iPod was initially released in 2001, so not decades and not even a full decade.
The point stands though, that Docker didn't invent containers by a long shot; but they did make them massively more useful.
It helps focus on what Docker does provide, as you mention.
"Docker implemented in around 100 lines of bash."
This is simply not true.
It makes it very clear what docker is, and isn't.
https://github.com/p8952/bocker
Specifically, the bocker_run function: https://github.com/p8952/bocker/blob/master/bocker#L61