Another method:
plusMinus[symlist_List] :=
With[{n = Length[symlist]},
Map[symlist*# &,
Table[IntegerDigits[j, 2, n], {j, 2^n - 1}] /. 0 -> -1]]
plusMinus[{a, b, c, d}]
(* Out[11]= {{-a, -b, -c, d}, {-a, -b, c, -d}, {-a, -b, c, d}, {-a,
b, -c, -d}, {-a, b, -c, d}, {-a, b, c, -d}, {-a, b, c,
d}, {a, -b, -c, -d}, {a, -b, -c, d}, {a, -b, c, -d}, {a, -b, c,
d}, {a, b, -c, -d}, {a, b, -c, d}, {a, b, c, -d}, {a, b, c, d}} *)
If you do not need to maintain ordering there is also this.
plusMinus2[symlist_List] :=
Map[Join[-Complement[symlist, #], #] &, Subsets[symlist]]
plusMinus2[{a, b, c, d}]
(* Out[19]= {{-a, -b, -c, -d}, {-b, -c, -d, a}, {-a, -c, -d,
b}, {-a, -b, -d, c}, {-a, -b, -c, d}, {-c, -d, a, b}, {-b, -d, a,
c}, {-b, -c, a, d}, {-a, -d, b, c}, {-a, -c, b, d}, {-a, -b, c,
d}, {-d, a, b, c}, {-c, a, b, d}, {-b, a, c, d}, {-a, b, c, d}, {a,
b, c, d}} *)