Because it's easier to use EJBQL? Of course you don't have to use EJBQL or the Java persistence API. They do nothing you couldn't do "by hand". You could use annoying SQL statements all over your code to get the data from a database, instantiate an empty entity object and set its properties via setter methods.
One advantages of EJBQL over plain SQL statements is that it's is type-safe and automatically returns the correct types of objects which it determines from the annotations to your entity classes.
It's easier to use because you don't have to worry about actual table or column names in your database. In EJBQL you use class and properties names!
It can maintain not only single types of entities but also entity relationships. So if you have for example a one-to-many relationship a query doesn't only fetch the "one" side but it can also get the corresponding objects on the "many" side an link them to the "one" side.
Anyway most times it's not even necessary to formulate an EJBQL query because you can often get away with the ordinary methods of the EntityManager like persist(), remove(), find() etc. So you have to look at the Java persistence API as a whole framework and not only the queries. It handles database connections, it can (depending on the persistence provider) automatically create or delete your database schemata, you can easily change the underlying database system, you get transaction handling from it, you can create almost any mapping to existing databases with annotations, relationships and inheritance are automatically mapped to corresponding tables and you are even free to use native SQL statements where really necessary.
I hope this were some convincing points. Perhaps
you should look at the Java persistence API in general and not only focus on EJBQL, then the advantages may become more obvious.
Marco