I agree. I've had a few troubles with Om, and while dnolen and the community have been super helpful on IRC and lists, there are some basic things that I personally felt trapped by.
- The inability to cleanly have om components co-exist with a static template, rather than having to render the entire thing using sablono or om/goog is one. The rationale is that multiple roots aren't good for you, but the alternative is to render your entire template within clojurescript code which can be a pain if you're working with someone who thinks in html/css.
- The API for IResolve is currently in super early alpha, and while there are some examples [1], one of the the recommended solutions [2] is to use NativeStore or Derive, which seems overkill for simpler use cases such as mine.
(It isn't my intention to be overtly critical of a great library - I like it a lot. I've used it to some extent and faced a bunch of issues, which I hope will get resolved over time as the APIs and design become more stable.)