Multiple playbooks or multiple roles?

Hi,

I am new to Ansible

From the examples (https://github.com/ansible/ansible-examples/tree/master/lamp_simple/roles) sound like you encourage organize playbook by application type, but why not by server features?

e.g.

Instead of

lamp/roles/db
lamp/roles/web

why not separate into multiple playbook so to encourage reuse?

e.g.

mysql
nginx
apache2