I'll take my shot at explaining the difference.
DC, which stands for Direct Current, is the traditional way -- and until fairly recently the ONLY way -- to control a model railroad. In its most basic form, DC consists of a power pack (sometimes known as a transformer) which has two wires coming from it that connect to your rails. Adjusting a knob or lever on the power pack increases or decreases the voltage on the rails, causing the motor in your locomotive to run faster or slower, thus changing the speed of the locomotive. If you have one power pack, you can control one locomotive at a time. If you add additional power packs, along with sufficient electrical switches and wiring, you can run more than one locomotive at a time. The wiring to do this quickly increases in complexity if you wish to simultaneously control multiple locomotives.
DCC, which stands for Digital Command Control, operates on a different principle. With a DCC system, full voltage is applied to the rails at all times. Unlike a DC power pack, the controller for a DCC system does not vary the track voltage at all. Instead, the DCC controller send digital commands through the rails. In other words, both track voltage and digital signals exist on the rails simultaneously.
Each locomotive is equipped with a Decoder that responds to the digital commands. The Big Deal about DCC is that the decoder in a given locomotive responds ONLY to commands intended for that specific locomotive. This is done by assigning a unique numerical address to each locomotive's decoder. For convenience, the address is usually the same as the road number that is painted on the side of the locomotive.
Even though a DCC-equipped locomotive is sitting on the track (which has full voltage on its rails at all times), the locomotive won't move until you send a digital command to the decoder in that locomotive, telling it to move. If you want locomotive #1550 to move, you press buttons on your DCC controller to send a command to locomotive #1550. The decoder in locomotive #1550 will receive the command and apply power to the motor in #1550. All other locomotives on the track will remain stationary, because you have not issued any commands to them.
It takes far longer to describe this process than it does to actually do it; the complexity is mostly hidden from view. DCC controllers are designed to make it quick and easy to send commands to one locomotive, then transfer control to another locomotive, or to a third loco, or to a fourth, etc. Once you have set a locomotive in motion, it will continue moving even when you transfer control to a different loco. The decoder in each locomotive remembers the last command it has received and simply continues to apply that command until you send a new command to the loco.
The advantages of DCC are readily apparent. You can control many locos with one DCC controller. Commands issued to one locomotive have no effect on any other locomotive. No complex wiring is needed to operate several locomotives at the same time. Many new locomotives are available with a DCC already installed. For the most part, DCC equipment from various manufacturers is compatible.
There are some disadvantages to DCC. A DCC controller is more expensive that a traditional DC power pack. Also, each locomotive must be equipped with a decoder, which is an extra expense. Older non-DCC locomotives can usually be converted to DCC by installing a decoder, but for some locos, this conversion is not simple.
For me, the advantages of DCC far outweigh the disadvantages. On the other hand, someone with an existing conventional DC layout and dozens of non-DCC locomotives may choose to continue using DC rather than spend the time and money to convert the equipment to DCC.
I hope this has helped your understanding a bit.
- Jeff