The net code is a bit of a hog and needs a good computer with a solid connection.
If you have a more stable connection with a better upstream then you're better off being the host.
Unfortunately there are no dedicated servers so it relies on the players having a good ping to one another.
Authentication failure will happen if the connection fails to be correctly made to the host. Could also be firewalls, virus scanners or anything that may impede data comms.