Android: There are so many personal assistants available for Android that it's difficult for one to really shine through. Utter is a new app, currently in beta, that brings the features in a useful way. With root access, it can control your phone's settings, other applications and automate actions, all with your voice.
Again, Utter is in beta, so some of its features aren't fully implemented. The app can handle the basics, like navigating to a destination, speaking the time and weather, posting to Facebook and Twitter, and setting alerts or calendar appointments. Utter can also control system settings, turn Wi-Fi or Bluetooth on or off by speech, search your system for a specific song or video and then play it for you, and find and update contacts. The app does have to run in the background to work, but in my tests it wasn't a serious battery drainer.
Utter also integrates seamlessly with Tasker, so it's ideal if you have a Tasker profile or action that you would like to execute by voice. There's a complete user guide if you want to dive deeper before giving it a try. The app is completely free while it's in beta (when it's officially launched, the developer says it won't be more than a couple of dollars), and the developer is very responsive to feedback and bug reports. Hit the link below to give it a try, or check out the XDA link to read more about the app.