As far as I know, VisualSVN Server is a server while TortoiseSVN is a client. But I can also create repository with tortoise svn only, without needing Visual SVN.
What is the difference between the two or am I missing something?
The difference is that the repository you create with TortoiseSVN client is a local repository on your machine. But that repository is of the same kind as the one the Visual SVN server (or any other SVN server) uses. If you move your locally created repository to your svn server you can access it via the server instead.
An SVN repository is "just" a bunch of files and directories. You can access this repository directly (file:
protocol) or through http, https, svn, etc.
TortoiseSVN just allows creating the repository. If you need to access it using another protocol than the file:
protocol, you'll need a server (which TortoiseSVN doesn't provide).