For security-related applications, where you would want to create random keys so that a third party couldn't guess them, using only the time is not enough. The operating system typically provides means of creating better random values (Linux and Mac have /dev/random, Windows has a cryptography API). The OS uses seeds such as disk writes per second, processor cache misses, port I/O, time, etc.
For artificial intelligence, fuzzy logic or things like that, using 1-2 seeds is fine. But because time is very predictable and changes at a fixed rate, then in some cases it might not seem random enough. Then you would use a formula like you described to constantly recalculate the seed number based on the current time and the previous seed number.
Time is a good seed, because it is one of the few metrics that are readily available for all programs at any permission levels. You would need admin access to get values from other system hardware. Another value that is often used in games is the time between keypresses, however many other applications don't get any keyboard input at all.
The formula Rand_Number = (Rand_Seed * X + Y) mod Z is good, because there is a good chance the number will overflow because of the multiplication. This means the higher digits are discarded, because they won't fit into the 32 or 64 bits the computer uses to store the number. Without the formula, the seed number would only change linearly, because time is linear.