A lot has changed since the other answers were valid. In particular, the Combat Update.
Shield is important. Spam-clicking is the most ineffectual way to deal damage - observe the tiny bar over your cursor as it fills up, it's percentage of damage you'll deal to your target, so time your attacks right. Potions are nice but far from game-changer, plus they don't stack and take a long time to drink, but splash potions can help in a pinch; regeneration will be more helpful than instant health, as it will heal more. The bow is still helpful - more so than trident or crossbow, if fully enchanted.
Then there's a whole range of additional techniques.
Probably the most important is placing blocks. By placing blocks strategically under you when jumping you may break your pursuit. You can destroy enemy's lava source (oh, yeah, a bucket of lava is a MIGHTY weapon against an ill-prepared opponent!), you can hide from ranged attack and get a bit of time to recuperate health.
A water bucket will put out fire, disrupt the opponent's attack, destroy their lava, and put out your fire.
Good food - golden apples, golden carrots are best for combat, though steaks or porkchops are fine too. And Enchanted golden apples - usually the player with significantly more enchanted golden apples is the one who wins.
With both combatants fully stocked up, and with a good stack of golden apples each, the one who loses the armor (due to durability damage) will lose, so if you're playing on that level, a spare set or two might be needed, though in usual PVP just a good, well-enchanted set will suffice.
Chorus fruit can get you out of a dead end or if the opponent managed to box you in with slow to break blocks. Enderpearls also help escaping a precarious situation.
And then there's one really mighty weapon: End crystals. The preparation takes some effort - either naked bedrock, or obsidian blocks, but if you can get the enemy there - the explosion effect is applied to player's feet, so if you hide your legs behind a bedrock or obsidian block, you're protected from most of the blast. Place and punch an End crystal, you'll deal massive damage, and there's almost no cooldown between the actions so you can spam them really fast whittling the enemy's health down. If fighting in the Nether or the End, you can use beds for similar purpose, although they don't stack, so they aren't nearly as convenient.
And of course the best way to win at PvP is not to fight at all. If you have an opportunity to build a deadly trap and bait your opponent inside, that's great! Though trap-building is a subject for a different post.