I want to know why WordPress designed their database with two tables separating users and meta from each other. Wouldn’t it be better if first_name, last_name, nickname, description, and capabilities are in the wp_users table?
SO what’s the advantage for doing this separation?
The meta table is build to allow custom user meta. If anything would be in just one table a plugin developer had to add a new column to the table for each meta data or the data had to be stored as serialized arrays/objects which would made them unsearchable.
Short: Performance and flexibility.