What is the difference between a function and a stored procedure?
The words function and procedure are often mixed up. However, there is actually a difference: in a procedure, you can run more than just one transaction. It can therefore not be part of a SELECT statement and has to be executed using the CALL command. In contrast to that, a function has only limited transaction control and can be part of a SELECT, INSERT, UPDATE, or DELETE statement.
What is the difference between a trusted and an untrusted language?
Trusted languages limit the programmer's ability to perform system calls. They are therefore considered to be safe. Untrusted languages, however, can perform all kinds of operations and are therefore only available to superusers to ensure that no security leaks are possible.
In general, are functions good or bad?
This question is somewhat hard to answer...