It depends on what you're willing to achieve.
For a turn-based online game, having a high latency wouldn't be an issue at all.
For fast paced action it's important to keep synced information as slim as possible.
In the end, peer to peer can be a good choice, depending on design of your game.
I've done several local-tests, and never had any real lag issues.
It's important that you don't make any mistakes with trying to sync information which you've not properly set.
Doing so can cause major lag problems. It will look as if the "internet connection" is terrible.
For a 1vs1 fighter game it would be important to create a proper Host-Side check which calculates "back in time" where exactly the player was staying at the time he punched. That way you can prevent issues that the player sees what actually happens. Otherwise the player might punch the opponent, the host however thinks that the opponent was too far away, with that does not count the hit.
Ashley made some good examples in your examples folder of construct 2. You should also checkout his official tutorials.
If you tech yourself the multiplayer features, i think you should be able to get it done right.
But i can only recommend to read the tutorials entirely through.
Alternatives are not easy and require more knowlegde.
Construct 2 does not offer a Dedicated Host feature. So peer to peer is the only official solution available.
Unless you use a workaround by running the game as HOST on a dedicated server and leave it nonstop running/online.