In short, and without being too boring, lots of people.
The exact process will vary from airline to airline. This could also become a very long message, so I will assume that you are asking about short term planning about which individual aircraft operates each flight. Part of the decision is of course already dictated by which flights the aircraft flew on the previous schedule, as for a specific flight to be operated, there will only be a certain number of aircraft available on the ground at LHR or LGW to operate that flight at any one time (though which aircraft those are will also have been decided far in advance of the actual day).
The type of aircraft to fly the route has already been dictated by a separate planning process (though of course this is subject to change at any time during the process for any number of reasons). There are probably four primary factors which affect the decision of which aircraft is used. Some aircraft may have different performance characteristics (can carry heavier weights, more powerful engines etc) and so the destination airport may demand aircraft with better performance than some others in the fleet. Maintenance will play a big part. Aircraft need regular maintenance, some of which is planned far in advance, others which are very short term.
The regular maintenance that cannot be carried out during a turnaround can be planned long in advance, and so an aircraft can be scheduled not to fly on the days it is in maintenance.
Unscheduled maintenance can also occur. An aircraft may be grounded because it has a problem which doesn't allow it to fly. Or an aircraft for instance may have arrived in LHR with a defect that needs to be cleared very quickly, but the needed part isn't available immediately, and because there is no spare aircraft, it has to operate a flight. So it may be decided to fly it on a short route to NYC for example and not to SYD so it flies for a minimum time and gets back to LHR the following morning rather than two days later. This is not because it is unsafe to fly but that the repair has to be carried out within a minimum number of flight hours, landings or days.
The other issue is aircraft cabin layout. Whilst most of the virgin fleet is pretty standardised (i.e. all LHR based 747's have the same number of seats in each cabin) there are aircraft that may not be identical (particularly during cabin refits as happens regularly), or when an LGW aircraft operates LHR routes when an LHR aircraft is in maintenance for example. The airline will want to maximise the profit it makes on each flight, so an LGW 747 operating from LHR will be put on the route that has the lowest number of expected upper class seat sales on that particular day (and they will normally try very hard to sell it that way, indicating how far in advance they try and plan maintenance ahead).
Crewing will also play a big part in the process.
Crews have all sorts of restrictions such who they can fly with, when they can fly, how many have to fly on specific routes, how long they can fly for etc.
Crews also cannot just fly any aircraft. 747 crews can only fly 747s. A340 crews can only fly A340s (sometimes a pilot may only be able to fly a particular model of A340 (600 or 300).
And if a 747 flew to SFO yesterday, and todays went tech, you cant just send an A340 there at the last minute, as there will be no crew in SFO able to fly the A340 back to LHR tonight.
You could write a whole book on the processes involved in determining aircraft allocation. These days it is made a little easier by computer systems which are shared between all departments so each department can see real time information of commercial plans, maintenance plans, crew planning, ops planning.
But at the end of the day it is Operations that collates all this information together and makes the final decision about which aircraft goes where.
And just when you think you've figured out a solution to solve your last minute problem, someone will raise another issue that rips up your well thought out plan on the spot.
Hope thats a little help at answering your question.
AF