The landscape isn't generally intuitive, unfortunately, and while it's getting better, understanding the differences and interop places between LSP, Treesitter, DAP, your editor, and the underlying language-specific tooling can be a big, confusing time hog.
That said, and to be clear: LSP's been a huge boon for me. I used a minimal, kinda-broken configuration for a while with Python, then rebuilt the whole thing when I switched to Rust for work, and holy hell, this thing's awesome.