The Arduino Uno (or Mega or any of the other models -- except the Due) is a microcontroller based physical computing platform.
The Rasperry Pi is a microprocessor based single-board computer (SBC). The Arduino Due and the Raspberry Pi are more directly comparable in terms of form and function.
What that means in practical terms is mostly about software development:
- The nice thing about the microprocessor based Raspberry Pi / Arduino Due is that it is running Linux. You can program for it in C++, Java, Python or some other language you may already be comfortable with. You may indeed be able to take an application you already have and compile it to run on the Raspberry Pi / Due without making any changes.
- With the Arduino Uno (et al), you would need to create a sketch in the Arduino language. This is not hard - it looks very C-like. It is just something you have to do. There are a ton of libraries and classes for Arduino - so it is possible to make it do just about anything a home automation project might want (it has been done numerous times - lots of good hacks to copy).
They are both very capable for a home automation project. I would worry over what you want your application to do and the physical interconnections you are trying to accommodate. Pick from there.
Here are few more puts & takes.
- You can get Arduino board with LOTS of different I/O and other interface configurations.
- The Raspberry Pi is pretty much what it is and has a lot less time in the field.
- Raspberry Pi - for $35 you get video, audio, Ethernet, and USB
- That will cost you two times that to get the same on top of an Arduino Uno.
- The Arduino Uno runs comfortably on just a few milliamperes
- The Raspberry Pi needs more like 700 mA