Is UndirectedEdge[a,b] the same edge as UndirectedEdge[b,a]?
Then please consider this.
g = CompleteGraph[4, VertexLabels -> "Name", ImagePadding -> 10]

If we ask to delete UndirectedEdge[1,4] or UndirectedEdge[4,1] gives the same result:
EdgeDelete[g, {1 \[UndirectedEdge] 4}]
EdgeDelete[g, {4 \[UndirectedEdge] 1}]

Yet if we ask whether these edges were in the original graph, we receive different answers.
MemberQ[EdgeList[g], 1 \[UndirectedEdge] 4]
(* True *)
MemberQ[EdgeList[g], 4 \[UndirectedEdge] 1]
(* False *)
This strikes me as inconsistent.
Postscript: Should UndirectedEdge be orderless?
@R.M 's response makes a lot of sense:
MemberQ[EdgeList[g], b \[UndirectedEdge] a] answers True if and only if b \[UndirectedEdge] a, is literally in EdgeList[g]. It will not respond True if that edge is listed in EdgeList[g] as a \[UndirectedEdge] b. However, EdgeQ[g, b \[UndirectedEdge] a] will respond True whether that edge is stored in EdgeList[g] either as a \[UndirectedEdge] b or b \[UndirectedEdge] a.
Even so, it seems to me that UndirectedEdge ought to be Orderless.
Wouldn't it be preferable to behave like Plus?
Compare Plus and UndirectedEdge:
ClearAll[x, y]
Plus[x, y]
Plus[y, x]
Attributes[Plus]
Plus[x, y] == Plus[y, x]
Plus[x, y] === Plus[y, x]

ClearAll[x, y]
x \[UndirectedEdge] y
y \[UndirectedEdge] x
Attributes[UndirectedEdge]
UndirectedEdge[x, y] == UndirectedEdge[y, x]
UndirectedEdge[x, y] === UndirectedEdge[y, x]


MemberQ[{a+b,b+c}, b+a]givesTrue. – celtschk Apr 5 '12 at 16:14b+ais read asPlus[a,b], apparently because or theOrderlessattribute ofPlus. – David Carraher Apr 5 '12 at 16:27