If you really want to know about managing fonts in OSX, here's the "bible" on fonts written and updated with each OS, by a long-time expert contributor here, Kurt Lang.
There are many locations for fonts, and each has its purpose. It's extremely complicated, and not to be experimented with, unless you want to completely disable your Mac.
Read this. And then come back with your questions, Grasshopper.
Why is there ~/Library/Fonts
Because it's UNIX. OS X is built on top of the BSD distribution of UNIX, so the basic file and folder structure is based on that. The OS has its own Fonts folder. The Library has a Fonts folder for access by all user accounts. The user account (denoted by ~) has its own Fonts folder for the purpose of storing fonts you don't want other accounts on that computer to have access to.
when there is ~/.fonts?
Not sure why you have that one. I checked both my Snow Leopard and Mountain Lion installs and neither has such a folder. You also shouldn't be seeing it. Any file of folder which begins with a period is hidden from view by the OS unless you've purposely changed the settings to show all items.
Are there any fonts in that hidden folder? It could be a third party software package you installed created it to hide the fonts it uses. Otherwise, it shouldn't even be there.