Regarding KiCAD vs. gEDA. I used them both and I think KiCAD is now a better choice, mostly in a way it deals with custom library and how new parts/footprints are created.
- gEDA requires you to know the textual constants for pin types, KiCAD has them in dropdown
- gEDA uses directories and loose files to look for parts, KiCAD uses "packages" (.lib)
- gEDA references parts by path, KiCAD accompanies the .sch file with a part cache, so you can move it without loosing the symbols
- gEDA has spice elements in standard library and can generate spice netlists, but I use LTspice, so I do not care much..
- I like the way KiCAD asks you about the target for selected action when you are doing something in crowded area
- gEDA PCB deals with pcb traces without thinking about netlist, also only 5 different trace widths can be preset at the same time
- KiCAD allows you to set thickness for nets, so it is easier to keep track of power traces for example.
gEDA can be powerful, but you need to write scripts to accomplish that. It is the unix way of doing things, but I realized I do not need it that much.
KiCAD is more user friendly and has integrated rule checks (both electric and pcb design).