Meaning of various user account privileges in phpMyAdmin Reference the attached screenshot:




I created a non-root user, and gave it all privileges to a database. It now has All Privileges of Type -- global and database-specific. What's the difference between these 2 "Types"?
Why three root User names? What's the purpose of having so many?
Your second question was well covered by joanolo.
I would like to address your first question only.
On Apr 17, 2014, I answered this question : How to grant super privilege to the user?. In that post, I explained how the SUPER privilege was impossible to grant to a database-specific user. I clarified the difference between global privileges and database-specific privileges by comparing the table structure of mysql.user and mysql.db.
To show the difference between them in terms of grants side-by-side, please run this query:
SELECT
REPLACE(glb,'_priv','') global_privilege,
IFNULL(REPLACE(dbs,'_priv',''),'NOT ALLOWED') database_privilege
FROM (SELECT A.column_name glb,B.column_name dbs FROM
(SELECT column_name FROM information_schema.columns
WHERE table_schema='mysql' AND table_name='user'
AND column_name LIKE '%priv') A
LEFT JOIN
(SELECT column_name FROM information_schema.columns
WHERE table_schema='mysql' AND table_name='db'
AND column_name LIKE '%priv') B
ON A.column_name=B.column_name) AA;

When you run this in MySQL 5.7.12, you get the following output:
+-------------------+--------------------+
| global_privilege  | database_privilege |
+-------------------+--------------------+
| Select            | Select             |
| Insert            | Insert             |
| Update            | Update             |
| Delete            | Delete             |
| Create            | Create             |
| Drop              | Drop               |
| Grant             | Grant              |
| References        | References         |
| Index             | Index              |
| Alter             | Alter              |
| Create_tmp_table  | Create_tmp_table   |
| Lock_tables       | Lock_tables        |
| Create_view       | Create_view        |
| Show_view         | Show_view          |
| Create_routine    | Create_routine     |
| Alter_routine     | Alter_routine      |
| Execute           | Execute            |
| Event             | Event              |
| Trigger           | Trigger            |
| Reload            | NOT ALLOWED        |
| Shutdown          | NOT ALLOWED        |
| Process           | NOT ALLOWED        |
| File              | NOT ALLOWED        |
| Show_db           | NOT ALLOWED        |
| Super             | NOT ALLOWED        |
| Repl_slave        | NOT ALLOWED        |
| Repl_client       | NOT ALLOWED        |
| Create_user       | NOT ALLOWED        |
| Create_tablespace | NOT ALLOWED        |
+-------------------+--------------------+
29 rows in set (0.04 sec)

Given this display, it is impossible to grant RELOAD, SHUTDOWN, PROCESS, FILE, SHOW DATABASES, SUPER, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER, and CREATE TABLESPACE to a database-specific user.
For example, you don't want a database-specific user to

Shutdown the Database
See the processlist of other users
Setup Replication on their own
Kill DB Connections
Create a New User
Create Giant Tablespace Files
Load an External File into the Database
Create External Files in the OS using SELECT ... INTO OUTFILE
and so forth

SUPPLEMENTAL INFO
There are also table-specific grants in mysql.tables_priv and column-specific grants in mysql.columns_priv. These grants are stored in ENUM columns.
Just run DESC mysql.tables_priv; and DESC mysql.columns_priv; and see.