Oracle temporary tables are different than some other platforms (most notably sql server)
the tables themselves are permanent, but their "contents" are temporary, only lasting for the duration of a user's session or transaction.
The contents are also private in that only the user that populates the temp table can see or modify the contents.
Stored Procedures are just what they sound like, a procedure (or function) that is stored inside the database as opposed to a c, fortran, vb, cobol, etc library/program.
They can also be bundled together into logical groups called packages. Packages also offer additional security by separating the exposed routines and the internal routines.
When churning through data, SQL and PL/SQL stored procedures are the most efficient means of doing it. Far exceeding anything you could do with other languanges.
Even if the other languages could "somehow" beat the dataprocessing speed, they would be limited by the fact that they first have to pull the data out and then put the results back into the database
whereas pl/sql is already there. Saving transfer times and can immediately work.
Oracle also offers Java stored procedures. Which "can" manipulate data but are usually used for tasks that can't be implemented in pl/sql very well. Many file and network manipulations fall into these categories.