When I try to send a mailing, even if I chose to send it directly, it doesn't send and its status stays on "planned". I have to go in the schedule job menu to force the task. What can I do to just send mailings immediately?
The normal way to do this is to automate the execution of the scheduled jobs by setting up a cron command.
You can define how often that cron command is executed. If you set it every 5 or 10 minutes, then the Mailing will be sent at maximum 5-10 min after your submit.
The reason why Mailings are not send immediately is that CiviCRM is build to send very large Mailings. An action that is started via the browser has usually a maximum execution time. It is not unlikely that for larger Mailings it takes longer to send to all of them then that time. The cron command is run on the server and has no limitations in that regard.
Much more information about cron and how to set it up: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs
"Send immediately" in CiviCRM mailing is to be interpreted as "put in the send queue to be sent as soon as possible", not "send it now while I wait".
As Catorghans indicates all mailings are sent from a "cron job" which is run periodically. So when "Send directly" will actually send will be dependent on when your next mailing job will run. Typically a few minutes from now.