1. No holds barred. (I always lose, but nearly won once when they were very distracted.)
2. Like no holds barred, except I can take back my previous move && they sometimes offer “Are you sure that was the best move?” when I’ve done something especially wrong.
3. Them vs. them + me, where I have full access to their skills and knowledge. They suggest moves, and I can ask whether a move is/was a good move, what move they would make, etc. This unsurprisingly results in a 50/50 win rate.
This has been very useful for learning because it balances out the learning with just enough “winning” to keep the game fun.
I'd rationalise it as creating richer neural connections for the topic you're trying to learn. It seems to embed the knowledge out of your "cache" into some deeper level, without which I tend to run out of ability to keep all these things in my head. In terms of practicing whatever you're learning, it's hard to say whether you should play against weaker, equal, or superior opponents; each have various arguments that can be made against them. I'd probably avoid weaker ones, in order to minimise false positive feedback.
I disagree strongly on that. If stronger players are avoiding complicated pins / forks / checkmates, the weaker player will NEVER experience these positions.
It is far, far, far more educational to play against a stronger player and learn the tricks of the trade. Getting pinned by an expert is a lesson. Getting a "Queen Trap" is a lesson. A Fork is a lesson. Etc. etc.
Watching players stronger than you avoid all those positions is completely, and utterly non-helpful. You need to get those mistakes "beaten out of you" so to speak, if you ever wish to get better at Chess.
--------
Now, observing chess can be helpful with computer-analysis. After downloading the pgn file of a high-level game, play through it yourself vs Stockfish (PC vs SCID is decent freeware to run the Stockfish engine with), and try to discover the traps that the high-level players innately avoided.