For Python, there is a choice of the jedi library or the rope library to do refactoring and smart completion. This in addition to ctags and the like. I imagine other languages have similar things.
Smart completion is fine to me, but the refactoring is a potential problems. It seems there isn't an open source refactoring tools as good as PyCharm for python.
http://www.vim.org/scripts/script.php?script_id=2937
> The biggest hole, however, is the lack of refactoring and smart completion.
http://eclim.org/