if i add a 2nd graphics card, will programs work faster or is that only for programs that are set up for 2 cards.
No, parallel computing isn't that simple. (and graphics cards don't "make programs run faster" anyway, they only offload graphics tasks.... hence the name)
If you want dual output (i.e. two screens) then get a good dual graphics card (one card, two outputs).
Friends have told me that only prgrams thats are specialised will actually use the 16 GB.
Your friends don't know what they are talking about.
Software will use the RAM it needs, no more, no less.
The more software you run at one time (either foreground or background), the more RAM you will need.
Graphic design and CAD/CAM also tends to be RAM intensive in its own rights.
Simple case of supply and demand.
I would suggest you stay with 8GB, and then if your computer feels slow because of what you're doing on it, then try throwing more RAM at the problem.