I've been working on a project that has a web interface to a controller algorithm for the past 4 years now, starting with just Arduino w/ SPI wifi and a 2MB flash addition, then moving through various platforms as they became available.
ATmega (Arduino): Real time operation, ADCs, digital I/O and flexible PWM. Great for sensors and control, but the lack of RAM/storage really kills you when you want to make a web interface that is any more than just some basic text dump. I stored a web page in dataflash then had the page call back and request the actual data in JSON which was built in code. This worked ok but you've only got 1 simultaneous connection so it is pretty slow, and there's no history.
rPi - Freakin' awesome CPU power, RAM, storage. It isn't "real time" but it is close enough for most applications. If you don't need ADC or things like timer input capture or analog comparators, this is all you need.
I went with a hybrid approach, needing an ADC I figured the cost on an ATmega was comparable to a single ADC chip and I'd just let it do all the control and let the Pi do all the web serving and data storage. The microcontroller talks to the Pi via serial to a service, and the web service talks to that through a UNIX domain socket. The ATmega is also attached to the SPI bus so it can be flashed with new firmware via the web interface. It is like the best of both worlds, and gives you the safety of knowing that if the Pi crashes, the microcontroller still does its job.
The RaspberryPi with a wifi adapter is also fantastic because you don't have to run an ethernet cable to the controller. A lot of projects look like a giant CF of wires and crap so cutting at least this cord was a goal of my project.