Build Solution - Builds any assemblies which have changed files. If an assembly has no changes, it won't be re-built. Also, it will not delete any intermediate files. It may also use partially-built bits of the project if they haven't changed. This is actually Visual Studio's lazier and possibly faster option when it comes to compiling a solution. When you Build a solution, Visual Studio will perform an incremental build under the hood. This can be quite useful if you are only working in one project in a solution and can be noticeably faster.
Rebuild solution will clean and then build the solution from scratch, ignoring anything it's done before. The difference between this and "Clean, followed by Build" is that Rebuild will clean-then-build each project, one at a time, rather than cleaning all and then building all. It is quite clever in that it will ignore a project that it has already cleaned and built.
Clean Solution will delete all compiled files (i.e., EXEs and DLLs) from the bin/obj directory. will remove the build artifacts from the previous build. If there are any other files in the build target directories (bin and obj) they may not be removed, but actual build artifacts are. After performing a Clean and navigating to your output directories, you may notice that not all of the files are actually removed. This might happen because Clean only removes files that are associated with a build and not everything else. If you are looking for a way to remove all files when you run the Clean command, there is a great post on Stack Overflow worth checking out.