For the Uno, is the NC pin a pin that we should never connect anything to, or is it just not typically used for any specific task? Also, for the other pins, what happens if we connect something that is generally thought of as being incompatible with that pin?
Not sure what "the NC pin" is so can't help on that one. (I didn't know there was one?)
But for part 2, if you connect say an led with no resistor to an output, that would be incompatible and draw too much current which would probably damage the pin. If otoh you put 12V on an input which can tolerate 5V, that incompatibility would fry the pin too.
NC typically means, Not Connected or Not Used
One usually needs to seek further documentation in the text. NC could mean "Not Connected internally", in which case that pin could be handy for making a connection between other things. On the other hand, NC could mean "Not to be Connected externally" because the pin is used for testing or other purposes, is connected internally, and is not intended for external connections.
NC pin on a Uno? There isn't one on a Uno, but there is a solder hole between Vin and A0. Is that what you mean? I've never used it, but I think it's grounded. Looks like there is another one between pins 7 and 8.
ChrisTenone: NC pin on a Uno? There isn't one on a Uno,
What about the pin on the end of the header next to IOREF?
There very definitely is an NC pin on the Uno (and most other Arduino boards). Right next to IOREF pin. Pin1 on the header marked "power" in the schematic, and not connected to anything on the board as far as I can tell.
As for the second half of your question, it depends what you're connecting and how - as long as you stay within the spec'ed conditions of both devices (per datasheet or documentation), nothing should be damaged. For an Arduino (which is fairly typical in this regard), that means: * Do not apply a voltage higher than Vcc (5v for Uno and most other AVR-based ones, 3.3v for 3.3v boards) or lower than Gnd to any pin. You get about 1 diode-drop worth of margin in either direction before current starts to flow through the protection diode - which can handle only around 1mA. This is an easy way to trash pins. * Do not apply an external voltage to any pin while the Arduino is off. This really goes back to the previous point - if the arduino is off, Vcc is 0v (or close to it), so any voltage applied to the pins would exceed Vcc! What often happens in this case is that the microcontroller ends up being powered through the protection diode (at least until the protection diode fails, that is), which greatly confuses newbies who encounter it. * Do not connect anything to a pin (other than a power pin) that would draw more than 40mA off that pin (20mA max is recommended) if your sketch sets that pin as an OUTPUT.
Exceeding the current per pin limit is really easy to do accidentally (often through things like an accidental short from wire connected to output pin to ground or something), but luckily, brief overcurrent events usually don't damage the part. Applying voltages outside the range of Gnd to Vcc is much more destructive).