In contrast, I still don't know how to do "Go to Definition" in Emacs; in fact, I don't even know how to tell Emacs how to find all the source files for a project. I doubt I would have been able to complete the same task in the first day I'd used Emacs.
Emacs can be used as an IDE. I use it every day that way. I can use it like that because it's completely programmable. When I needed a Pyccuracy-specific editor, it took me an afternoon to write one (not from scratch) in Emacs-Lisp. I could probably have a spreadsheet inside it, if I really wanted.
Try to build a Lisp IDE inside Excel... ;-)
About the "go to definition" thing, it depends on what major/minor mode you are using. There is probably something like that for C-ish development. I just never used it.
And for finding all files in a project, there must be something that parses makefiles and rounds up source files. Emacs is older than many of us and someone must have already solved this specific problem in the past 40 years.
I am playing with "nav" in order to build special-purpose browsers. I would love to have a YQL-mode, but I feel I should replicate the multi-pane tool Yahoo makes availabe.
The way you interact with Emacs is through a text editor.
"The first time I used Emacs I found all kinds of Lisp functions I already knew. It has a familiar grep command that lets me click on results to jump right to each matching line in a set of files. I used the online help to find a command that evaluates Lisp expressions immediately allowing me to extend my environment just like typing into a REPL. ..."
You probably get the idea.
I mostly do C/C++ stuff. I use gnu global for code tagging and navigation [1](aka "goto definition" thing). As for project organization, I have no experience but you might want to check out CEDET [2]. It appears that CEDET has made it into emacs trunk, so hopefully you can get some nicer "project" stuff in emacs soon.
You might try "definition", but the hits for that aren't programming-related (emacs has a much wider scope of functionality than Visual Studio), so you'd probably go up to the top level of the manual. One of the topics there is "Features for maintaining large programs". That would tell you exactly what you want.
In your example you talk about "shortcuts of every other program on my computer". So you're assuming a programmer comfortable with windows. If I take the same liberty and assume a programmer comfortable with Unix, s/he will look in the Tools menu, see "Search Files (Grep)" and have immediate success finding the definition without any use of the emacs help system.