To achieve effectiveness, training needs to be specific to the employee's job and it needs to be training that can be implemented once he/she returns to their desk.
All too often, employees are sent to training courses and come back to the office a day or two later and promptly forget what they have learnt as they are not using the new skills.
For example, an employee may ask to attend an Microsoft Excel course. The Training Manager needs to establish the level of skill the employee requires to perform the duties of his job. If he only needs to prepare a few basic spreadsheets without complex formulaes etc, then arrange for another employee who has Excel skill to train the staff member on the job. If a higher level of skill is required AND the employee will definitely use the skills taught at the course on a regular basis, then the investment may be worthwhile.
All training is good, but it is a waste of time and money to send employees on training that they will not use and more often than not, have no interest in, other than a free day out of the office at the company's expense.
As a trainer, I do not want such people on my training courses, often they are disruptive to those who do genuinely want to learn, and they do not contribute to the class.
John in Oz