Ideally I'd like something that does everything. That way I'm not opening 3 different apps for a group of activities. For instance, If I get invited to a wedding, I don't want to open the calendar to record the date, then open a todo list to remind myself of picking up a gift, then open a notes app to jot-down gift ideas.
However, if all I require is a reminder to myself to get my suit dry-cleaned, I don't want to have to go through a complex app to accomplish this
Eh. I'd suggest splitting things up.
But it's a matter of preference.
What I'd suggest you do for some research first is to do a google search for GTD. See what you can find on the topic and read it. Then determine whether that workflow will help you. If it will, separate apps will be the way to go.
As I've stated in past posts.
Calendar = Appointments (time slots. i.e. Work 3-9:30pm)
Tasks = Things you need to do (which could be a project with plenty of tasks within it)
The thing about most calendar apps is that they try to get you to set a date for things. That doesn't work because things change. The best thing to do is to put tasks in an app (GTD calls this a Trusted System). You get that crap out of your mind, and into a trusted system, so you can concentrate on other things.
You then organize those tasks on a number of things. What are the requirements to finish this task? Is it actually a project? Do I need something to do this task? Do I need to be in a particular location to do this task?
Those "requirements" are sort of organized by what is usually called "Contexts."
An example. I have some software updates I need to perform. The context is @mac
I can then show all contexts of "@mac" in OmniFocus and do them all at once (assuming I have time)
Another would be if I need to call someone. That is under "@phone" for its context. Since I have my phone in my hands, show me all tasks that have a context of "@phone" so I can just make all those calls now.
It's a very clear separation for me. Things that I "do" are tasks. Places I need to "be" are appointments. I use a task management program for the tasks, and a calendar for the appointments.
Obviously this won't work for everyone. But it really helps me keep track of what I need to be doing.