Firstly, it is actually quite difficult to judge the exact time we will touch down as air traffic control often give us extended vectors therefore lengthening the flight time by a few minutes. This means that we assume the worst case scenario (shortest possible flight time) and make the call then.
Secondly, there are a lot of different crew around and they all work differently. Some are quicker to prepare the cabin and some are slower so again, lowest common denominator dictates that we give the crew 15 mins or so to account for all crew. Note that if the cabin is not ready we go around or discontinue the approach which is quite embarrasing to say the least!