iCircuit is great. It still has a few quirks, but, is getting better with every update. The portability factor is wonderful. I use it a lot, mostly at 37,000 feet.
I have found it quite helpful to understanding basic principles and theory-based circuit design. I highly recommend it, quirks and all. It can really help solidify your understanding of electronics. They finally added a transformer, now they just need to add a tube!
BTW, The program itself is based upon this set of (free) Java Applets:
http://www.falstad.com/
If you do not check out iCircuit, be sure to check out this site. A great resource for theory-based circuit design and simulation.