If you are a DBA and you want to restrict your developer in QA environment for example , you don't want to provide him with schema account access for the purpose to view SQL code definition for tables, views, procedures, triggers,...etc. currently if you are NOT the object owner you can't view the SQL definition of the object. So, introducing "view definition" system role will be very nice and helpful.