C'est par conception - c'est l'une des nombreuses extensions de la norme autorisée par MySQL.
Pour une requête comme SELECT name, MAX(age) FROM t;
la documentation de référence indique que :
Sans GROUP BY, il y a un seul groupe et il est indéterminé quelle valeur de nom choisir pour le groupe
Voir la documentation sur le groupe en manipulant pour plus d'informations.
Le paramètre ONLY_FULL_GROUP_BY
contrôle ce comportement, voir 5.1.7 Modes SQL du serveur
l'activer empêcherait une requête avec une fonction d'agrégation dépourvue d'une instruction group by et elle est activée par défaut à partir de MySQL version 5.7.5.