For reasons unknown, you can create both an Alliance and Horde character on a PvP server. When you think about it, it shouldn't be that way.
And as for a PvP server - from what I know, only in Contested zones (about half the zones out there) can you be instantly jumped and attacked by somebody of the other side.
In the other half, there's a PvP flag of sorts that can be turned on and off based on your actions.
For a Non-PvP server, both sides have to have their flags on in order to attack one another. Otherwise, you can both wave and curse at each other.
Somebody, please yell if I got this all wrong.