The arduino is a great platform. You can do a lot with it as the main part of your project. Sometimes you need more power and keeping the arduino but adding a PC ( which can be the Raspberry Pi ) is a big boost. Most often they are connected using a serial communication package called pySerial. This is cross platform and a really nice solution. Take a look at these projects, almost all use pySerial but some go way beyond. If just Python is involved the solution is probably cross platform. If there are more components then it may or may not be. Note that once you have a PC in the solution you have added disk data storage, intense procession options, full gui interface, and wifi.I have intentionally included projects whose hardware is a little off from the instructable title if they seem close enough.