I've been using emacs for quite a while.
Flymake is one of the features I really appreciate about emacs, and yet I wish it worked better. It's hard to configure and it can be a resource hog without fixups.
I had to hack around with it - to get python, php, java, css and JavaScript and various other languages working. Also had to add flymake-cursor to get the errors to appear in the echo area. And another patch to convince flymake to run only on visible buffers. But this jalopy pretty much works now, and I don't worry too much about it, except when I pick up a new language. (Adding flymake for Go today.... is how I became aware of flycheck)
Flycheck is "supposed to be" better, according to this article.
Do I want to invest the time to switch?
(I don't really care that flycheck will never be part of Emacs)