PL/SQL function calls, for example, are relatively slow. This makes a noticeable difference on a box that already runs its CPUs near maximum. :-P
If you do have the CPU to burn, however, the maintenance benefits are well worth it. There are those, however, who cannot be convinced of this no matter what. "But, it's all right in one place! And all the variable declarations are right at the top! How would functions be better?" (actual response, by the way, to a suggestion that we use more functions instead of 4000-line long procedures with 300 variables at the top...)