The following is based off opinion, but has shown to work very well for me YMMV:
If you only have one webserver I would stick with APC (can cache data for you as well) the big benefit of having memcache is for a multi server environment to share sessions and cached data (without putting more load on the database).
If you were to setup another machine I would split your database off to another server and behind a firewall or in some way block it from the outside world. Set that machine up to be able to process read writes fast with enough memory for internal db caching.
Only when you move to a multi web head environment would I use memcached and then yes you would probably have a load balancer, although a nginx setup could do that for you so you wouldn't need a hardware load balancer.
Before you do anything I would setup a development environment that matches the production environment as much as possible and then use something like Jmeter to put higher then expected loads on it to verify it would work for you application needs.
HTH