eBPF has been invaluable in my field (low-latency linux applications) and it changed a lot.
If you had problems working with kernel modules before, you probably should expect struggling with writing correct code for eBPF too. It's not for everyone.
Most recently I used ebpf to track which other threads were stealing cpu time (and how much) from my latency sensitive cpu-pinned thread.
You can do almost anything, the level of introspection into the kernel internals is amazing.
If you had problems working with kernel modules before, you probably should expect struggling with writing correct code for eBPF too. It's not for everyone.