Java:Nope, not a Java guy. Though, I used it for some C# projects, then again only to make some quick edits. That's because VS+ReSharper is hard to beat. I'd say the same applies to Eclipse/Netbeans. For one, you'd loose refactoring -- definitely something I wouldn't like.
Projects:The "include" option was just recently added with the release of v2.0. It works just like the exclude-patterns, just with the opposite logic. Documentations is still lacking, but the community http://docs.sublimetext.info/en/latest/index.html.
Anyway, if you haven't already, you should install http://wbond.net/sublime_packages/package_control and then discover anything that might interest you.
Also, I'd recommonend the package AAAPackageDev, it provides more than you might infer from its name -- like language files for Sublime's settings, snippets and other file types.
Auto-Complete:Indeed its useful even without IntelliSense. Though context-aware auto-completion could be added through a plugin. I was hoping someone more experienced with Python (and Sublime's API) would write such a plugin.
Plugins (or packages) for your favorite web-programming language and even C++ with clang (SublimeClang) already exist.
Hmm, that also somewhat answers your question about a Goto-Definition feature. If anybody has build it, then you can probably install it through package control.
Price:60$ is definitely much for something - that at least in theory - notepad could do. Then again, I consider it not payment for a product I use daily, but rather a way to show my appreciation to its developer (Jon Skinner) and of course as a reward too.
Edit/Projects again: Consider something like ...
Spoiler // Skyrim.sublime-project{ "folders": [ { "path": "/G/Skyrim/Data/Scripts/Source", "name": "Scripts", "folder_exclude_patterns": ["backup", "temp"], "file_exclude_patterns": [ "*.flg", "TIF_*.psc", "SF_*.psc", "QF_*.psc", "PF_*.psc", "*.pex", "*.hgignore" ] }, { "path": "/D/Profiles/Xetrill/Files/My Games/Skyrim", "name": "Profiles", "folder_exclude_patterns": ["saves"], "file_exclude_patterns": ["*.bak", "*.dat", "*.rar", "*.html"] }, { "path": "/G/Skyrim/Data/Interface", "name": "Interface", "folder_exclude_patterns": ["skyui", "exported"], "file_exclude_patterns": ["*.swf", "*.gfx"] }, { "path": "/G/Skyrim/Data/SKSE", "name": "SKSE", "file_exclude_patterns": ["*.dll", "*.disabled"] }, { "path": "/C/Users/Xetrill/AppData/Local/Skyrim", "name": "AppData" }, { "path": "/G/Skyrim", "name": "GameRoot", "folder_exclude_patterns": ["*"], "file_exclude_patterns": ["*.exe", "*.dll", "*.disabled", "*.vdf", "*.asi"] } ], "build_systems": [ { "name": "Papyrus" } ]}
that combined with Goto-Anything (Ctrl+P) is just ... useful. Also that was from before the 2.0 release so before include-patterns where supported again (v1 had them).