I didn't mean to say that PL/SQL is unusable, I just showed that PL/SQl functions have to be used with great care - both in the select and in the where clause.
If a PL/SQL function hides complicated "business logic" - then it's ok. If it's as simple as spitting out a string - PL/SQL is not a good choice.
As to to the "why" - no, I can't tell you, I was just a Professional Services dude at ArsDigita, not a core engineer.