What is the difference between `notify` and just a task at the end of a playbook?

Hi!
I just started to learn Ansible.
In the docs, there is such words:

These ‘notify’ actions are triggered at the end of each block of tasks in a playbook, and will only be triggered once even if notified by multiple different tasks.

For instance, multiple resources may indicate that apache needs to be restarted because they have changed a config file, but apache will only be bounced once to avoid unnecessary restarts.

Is it correct, that if I want that apache to be restarted after certain task, not after all tasks, I need to insert task with restart action, after that task?

Docs also states:

Handlers are lists of tasks, not really any different from regular tasks…

Is it all means, that there is no difference between notify and if I just put special tasks )with restarts etc) in the end of a playbook?

Handlers are typically more useful in that multiple tasks can trigger them via the notify: action, so they will only run if the task has changed. Otherwise, the task will always run and you may bounce services unnecessarily.