Dependency is easy; if the project produces a .DLL, or is a web service, for example, and you need to invoke it from another project then there is a dependency.
For small projects (like one screen and a few database calls) everything is likely to be in a single project. As they get larger, or as you need to reuse a .DLL for example on multiple projects, then you need to have better organization. The solution, project organization scheme helps you to manage it. If you don't need it you don' t have to use it.