My state uses both. People participating in the Republican primary just need to mail in their simple ballot. Dems have to decide whether they'll go to the Dem party caucus (which chooses delegates for the national convention) or the State primary (which only shows who voters favor but doesn't assign delegates) or both.
To participate in WA's Democratic caucus, you are supposed to show up at your designated caucus location for hours of discussing politics with other people in your district -- and then choose your representatives, called delegates, to go to the next level of caucus and do the same thing. The next level requires those delegates to attend a day long meeting. And then there is the state caucus, which is another day. And finally the national convention.
It is possible for someone who has a religious or work-related reason to vote in their caucus by "affidavit." Everyone else is out of luck if they'd rather just vote quickly and on a secret ballot. Or if you live in a rural area and don't want to have to drive for an hour, or hours, to get to your caucus location. Or if you have children to take care of and don't want to drag them along for a few hours of a political meeting. Or if you're just tired that day.
So in our state, only 230,000 people participated in the caucuses. 780,000 Dems participated in the primary -- that our taxes pay for -- even though the party leaders ignore the votes of the primary voters and assign all the votes based on the caucuses.