It seems like a very cool thing, that's mostly inaccessible, due to being so archaic, to non kernel programmers.
For BCC and bpftrace I personally think the documentation is actually quite good.
What it is, is badly documented. If you can't work out how to use it from scratch you probably don't know what you want to use it for, if that makes sense.
The actual VM makes quite a lot of sense, you just have to read a lot of kernel samples and txt documentation to work out how to do it properly.