Actually, "party list PR" is a misnomer, because the voter needn't be required to vote for a party list. One could vote for an independent or an independent list. In any PR system, in an N-seat election, 1/N of the total vote wins a seat. "Party list" PR could elect an independent who gets at least 1/N of the vote. Of course a party or an independent list gets a seat for every 1/N of the vote that they receive.
While still giving a seat for each 1/N of the vote, the above system does it in a simpler (but less deluxe) way than STV, and so I prefer calling it "plain PR" instead of "party list PR", because what characterizes it is its simplicity.
Besides, voters, not party leaders, can control what candidates are in the party lists, and in what order.
If you don't like the parties, in a party list PR election, then vote for an independent list, or for an independent. You can do that, or should be able to, if the system is run right. Your indpendent gets a seat if he gets at least 1/N of the vote in an N seat election. Your independent list, like a party, gets a seat for each 1/N of the vote that it receives.
As for how the lists are chosen:
If it's done in a primary, where the voters vote for candidates for a party list, then only the registered members of a particular party may vote in that party's primary, for candidates to that party's list.
Of course the problem is that it's possible for voters of big parties, some voters from those big parties, to register with the small party, so as to "raid" its list, by electing phoney candidates, candidates nominally of the small party, but really for the big party, to high positions in the smallk party's list.
Don't let that put you off from PR. It could just as easily happen with fptp. The solution is, if it happens, you'll know it right after the primary, and so you organize an independent lists for your small party's genuine candidates, and run in the general election as an independent list. I emphasize that this problem is not peculiar to PR, but could happen just as easily with fptp.
But it's because of that problem that "open lists" are used in some countries. At least it seems to me that that's why.
In the basic form, an open list PR system doesn't use a primary. It just has the general election, in which people can vote for a candidate of any list they want. This counts as a vote for that candidate, to give him a vote for a good position in that party's list, and it also counts as a vote for that party, against the other parties, for the purpose of determining how many seats the party gets.
The good thing about this is that if a faction of that party is numerous enough to add a seat to the number that that party wins, then it's easy for them to make that extra winner someone of their choice. That's because when voters can just cast 1 vote for a candidate running for that list, the result is a sort of PR election within the list. Everyone every seat they add to the ones won by that party, they have the power to put in that seat someone of their faction, someone of their choice.
A result of this is that if a big party's voters tried to raid the small party's list, they indeed might be able to elect some undesirable phoney candidates, but for each phoney candidate they manage to elect, they also give the party another seat. So they aren't doing any harm to the party's genuine candidates. Open list PR is invulnerable to raiding.
The basic open list PR lets the voter vote for 1 candidate in 1 list, the vote counting for that candidate to get a position in the list, and also for the party, to determine its seats.
Some counties use that basic form of open list. I recommend it because of its simplicity.
Other countries have gotten fancier. They give you a certain number of votes (maybe equal to the number of seats in the district--it doesn't really matter). You can give all the votes to 1 candidate, or you can distribute them any way you want among that party's canddiates. As before, each vote received by a candidate of a party counts also as a vote for the party to determine how many seats it wins.
Really a better way to do that would be to give each voter 1 vote, and to let him punch as many names as he wants to among that party's candidates, with the understanding that this will divide his vote equally between the ones he votes for.
(I emphasise that it's only in a PR election that when someone votes for several candidates you divide his 1 vote between them-- When you let people vote for several candidates in a single-winner election, this should give a whole vote to each candidate the person votes for. That's called Approval voting. A good single- winner method. Another subject.)
Getting even fancier, some countries even let you vote for candidates in any party or parties you want to. You can divide your voting power among 2 or more parties if you wish, voting for candidates in several parties. As before, the party receives, for the purpose of determining how many seats it wins, whatever amount of vote you've given to its candidates. I don't think it makes any sense to vote for candidates in 2 parties, unless you're sure they'll both make the threshold.
So say you're given 7 votes, because it's a 7 member district, and you vote for 3 people in 1 party, and give the remaining 4 to 1 candidate in another party. In the 1st party each that you voted for gets 1 vote in that party's candidate selection election, and the party gets 3 votes for the election that determines its sats. In the 2nd party, that 1 candidate gets 4 votes in that party's candidate selection election, and you are also giving that party 4 votes in the election that determines how many seats it gets.
Again, though, I prefer giving every voter 1 "vote" of voting power, and letting him divide that 1 vote equally between every canddiate he votes for, because this simplifies the balloting equipment, and because one's best strategy is to divide one's voting power equally between as many candidates as one's faction seems able to elect.
Anyway, so those are the ways an open lists election is done. All 3 ways are used: The one where you just give 1 vote to 1 candidate; the one where you can vote for several candidates of 1 party if you want to; and the one where you can vote for several candidates in different parties.
As I said, I prefer the basic open list system in which you just cast 1 vote for 1 candidate.
I prefer the open list to the primary, because it avoids the problem of "raiding".
But I prefer stv to party list PR, because stv makes it really easy to control exactly whom you're helping elect. As I've been saying, this is also possible with the list systems, but in the list systems it requires agreement among your faction which candidate(s) you'll all vote for, and if your faction is able to elect several, successful control of which candidates your vote helps depends on having a good estimate of your faction's strength. So I prefer stv, because that control is simpler. stv is deluxe PR.
Party list's advantage is simplicity of implementation. Like the Approval single-winner method, party list PR requires no change in balloting or count. The same balloting equipment could be used that we use now, and the same counting program. Based on the count results, anyone with a calculator can determine the seat allocations.
This simlicity of implementation even applies to the basic open list PR system, which is another reason why I prefer it to the fancier open list sytems.
So stv & party list PR both have powerful advantages. It depends on whether you want deluxe easy flexibility, or whether you want simple cost-free implementation. For me either system is good, and I claim that the choice between stv & party list should depend solely on which one the public is more willing to accept, based on their different advantages.