Is there a list with all the modes and packages that come with emacs? I actually want to remove some of the unused packages and modes in emacs.
There are two places two start looking:
For packages, assuming you're using fairly modern emacs with
package.el included, call
M-x package-list-packages. At the bottom of the list you can at least see what builtins it knows about.
For disabling modes, you can alter the
auto-mode-alist, which contains pairs of mode/file-name-regexp.
This said, a word of caution: you used the word "remove." So far, I've been treating "remove" as meaning, "disable." But if by "remove" you mean you want to delete things from Emacs entirely... be very careful. For instance, many modes are derived from base nodes, and packages depend on one another.
package.el will give you some information about whether a package was installed as a dep, but if you start carving up Emacs core... do be cautious. (I'll note that Emacs, especially very new Emacs, does a fairly good job of loading in a quick, asynchronous way and not loading things until it needs them. If your goal is faster loading, there are better ways. If your goal is a smaller memory footprint... good luck.)
One last tool, which you can use at your own caution:
find-function. Remember that modes are all functions;
M-x find-function <RET> mode <RET> can help you find where a mode is being created, and you could potentially use that information to delete what you like. Just be... careful.