Why should it be avoided?
It shouldn't be avoided: it should be treated with care.
There's nothing 'bad' about Waits, but they do have some side-effects (see above, other people have explained it quite nicely

).
The most common mistake is using a wait and then using "Attacking unit" or something.
Is it a difference between a single and multi-player map when using it?
There is an added delay in multiplayer, this is because all players need to synchronize with each other.
The statistics shown below are ancient (well, about 2 years old I guess). They've been tested with a good PC, without any other systems (in WC3) running.
Single-Player Statistics:
| Wait Time: 0.01 sec | Wait Time: 0.10 sec | Wait time: 0.50 sec | Wait time: 5.00 sec |
Avarage Wait: | 0.121 sec | 0.208 sec | 0.610 sec | 5.158 sec |
Minimum Wait: | 0.075 sec | 0.175 sec | 0.575 sec | 5.272 sec |
Maximum Wait: | 0.200 sec | 0.275 sec | 0.700 sec | 5.075 sec |
Multi-Player Statistics:
| Wait Time: 0.01 sec | Wait Time: 0.10 sec | Wait time: 0.50 sec |
Avarage Wait: | 0.250 sec | 0.370 sec | 0.751 sec |
Minimum Wait: | 0.225 sec | 0.250 sec | 0.725 sec |
Maximum Wait: | 0.275 sec | 0.501 sec | 0.775 sec |
Note: multi-player statistics depend on the other players as well: if they're slower, then the waits may be longer.
Therefore, the shown table might vary (I don't know by how much though).
The multi-player table shows some clear evidence that there's a minimum wait time: the wait difference (fastest waits) between 0.01 and 0.10 seconds is 0.025 seconds: 3.6 times shorter than what you would expect (0.09 second difference).
As you can see: the shortest wait I've seen so far is 0.075 seconds in single and 0.225 in multi-player.
In general, the waits are about 0.12 seconds longer than what you've set it to in single-player, and 0.25 seconds longer in multi-player.
With long waits, this doesn't really matter that much. Just don't use waits for precisely timed stuff.
Is there a better option to the Wait command?
For a simple wait: no.
In case you want to time something more accurately, then you have 2 options:
1) The event "Time - every 0.0x seconds of game time" (0.03 is usually used for movement, 0.02 is acceptable for accurate timing and 0.05 or higher for certain timed effects, such as DOTs).
2) Timers.