When it is time to vote, the choice is simple. I have already aligned myself with one party; I'm possibly a member.
Therefore, I vote for the candidate from my party. This occasionally might be me. If the election is in the HouseOfCommons, sometimes the vote isn't a FreeVote and I'm forced to vote along party lines. This is good, because I campaigned on a platform that I must uphold.
This way, while I may not agree with the party completely, and I might have voted for someone else this election, I am slowly building my reputation with the party. Or avoiding being thrown out of my job. Or lynched by my constituents.
But, because I usually vote by SecretBallot?, I can really vote for whomever I want. I can just say I voted for my party, even campaign for them, and still vote for whomever I want. Sometimes, if I'm the candidate, I vote for the other person out of respect. I doubt this would happen in BritishColumbia?, though.
In OpenElections?, I can't do this. I can CrossTheFloor? if I'm a member of a RepresentativeGovernment or something similar, however. Some places require me to resign my position and rerun in a BiElection? to do this.