There are many different completion modes for emacs, but I think company mode is one of the major ones. It did at least seem like the standard when I started out. I still use it today, because I can't see that any of the others are any better. Company is a mode that give you dropdowns that complete works or code as you write. It is very configurable, and can be extended. It has a backend arcitecture that makes it easy to add support for more or less anything. It comes with a few out of the box and other emacs packages or lisp files are free to provider their own. I have packages installed that does this for Javascript/node, C# and Clojure to mention a few.