Linux is a kernel and does not institute any file system hierarchy policy.
You are referring to the behavior of various programs that run on Linux. Each program is free to place its various files where it pleases, but in general, they are typically somewhere in your home directory. Some programs log to system-wide logs (eg. /var/log/*) while others store log data somewhere under a user's home directory.
On the whole, programs are well behaved. But there is a fair amount of consistency in Windows too; its just that the standards for location of various program-private data is more known to developers than to users. Much of this is enforced by hiding various directories, and the inheritance of All Users and Default User data stores to ones own user settings, making various data files, logs, and prefs files a nightmare to find and manage in Windows.
So, programs that have simple preferences are usually stored in a single dot file in your home directory. Programs that require more complex or multiple data files might store in a dot sub-directory of your home directory. But that's usually about as bad as it gets.