For failover, sure. Nginx and HAProxy are not particularly special. They're just lightweight and can be quickly restarted when IPs are swapped over.
For load balancing, not so much. Unless you're doing extremely crude DNS-based load balancing, you're going to need some way to get traffic arriving at one IP address distributed to more than one server. The way to do that is with... a load balancer.
But if you just have two servers and want them in an active-standby configuration (e.g. only one handling traffic at a time), you don't need a separate load balancing layer.
_________________
Code:
/* TODO: need to add signature to posts */