I use a full size Windows 7 machine to run XBMC. *
It doubles as my ripper/encoder for reencoding my BluRays to a smaller format (come out about 10gb for 1080p with HD audio) which I store on my NAS.
Spec wise it is an AMD 3 core 'e' model cpu. 405e or something. 4GB of RAM which is probably over kill. Graphics card is a cheap NVidia passively cooled one.
Remote i have is this (no idea why it is branded both Lenovo and HP, probably fake):
I am probably going to get an Antec Fusion or SilverStone case to hide it better amongst my receiver etc.
I also have a Pi, it's good, but won't do HD audio if you care about that. Also the menus and reindexing the library can be a bit sluggish sometimes. Otherwise it's great and much much cheaper and power efficient. RBEJ's Openelec builds are the software you want to run on it. So good compared to the main builds.
I have a cheap quad core Android one as well, quite good - a bit more powerful than the Pi but seems less well supported.
* I have a bunch of scripts for use with eventghost which automatically disconnect shares, shut down XBMC, and sleep the machine when the power button on the remote is held for 2 seconds. Then automatically reconnect and relaunch XBMC after it resumes from sleep.