Arduino/Netduino: connecting a second power supply's ground to GND pin
If you don't connect the grounds of the two supplies together, you don't have a circuit.

Assume for a moment that you don't connect the two grounds together. You connect the microcontroller's data out pin to the LED strip's data in pin. The LED strip determines if your microcontroller is sending a 1 or a 0 by measuring the voltage on the data pin compared to its own ground voltage - but since its ground isn't the same as the microcontroller's ground, it could get nearly any result. At best, the two devices won't be able to communicate, and at worst the voltages will be so wildly different that one device or the other will see a very high or very low voltage on the data pin.

Connecting the two grounds together means you have a circuit; everything is working from the same ground reference, and power can flow from either supply, through a device or devices, and back into the supply via the shared ground.

You're right that connecting grounds together can in certain cases cause a problem; this happens when both devices are already referenced to different ground voltages. For instance, one might be connected to a local power supply, while the other is connected over a long cable to a power supply a long way away on a different AC circuit; there's nothing preventing the two having different ground potentials, creating what's called a ground loop. There are various ways of isolating two systems but still transmitting data between them in situations where this can happen.

In practice, however, either one of your grounds will be floating - that is, having no external reference - because it's running off batteries or otherwise has no other ground connection, or both your grounds will ultimately be referenced to the same voltage; for instance, when you have two devices both plugged into AC power from the same distribution board. In such situations, connecting the grounds together is both safe and necessary to complete a circuit.