I tile first, but with a few 'twists'. There are usually a few bad or damaged tiles in any given room-sized batch. These work great where they won't be seen like under cabinets, dishwashers and stoves.I like a full tile job because it protects the floor under it from water damage- sooner or later plumbing will leak and I'd rather have it on top of the tile than going into the wood under it. With an 'after cabinet' job you can have a lake up to the thickness of the tile and not know it's there until the cabinets have to be pulled to do floor repairs which will also include some re-tiling where the wood under them took a soaking. If you know the cabinet layout (and at that point you should), you can arrange the tile layout to avoid slivers and noticeable tapers. Then the cuts will all be on the edges and don't call for perfection, as they are hidden under the baseboards and shoe molding adding speed to the tiler's job.
Do keep a few spare tiles on hand for repairs- these things vary from batch to batch so a replacement (if you can find it) isn't going to match well. Accidents do occasionally happen but I won't tolerate workers who don't respect and protect the other trades work- including tile floors. If they aren't fit to work over a finished floor they shouldn't be on the jobsite in the first place! And you've already heard about the dishwasher/ stove issues in an 'after cabinet' tile job- they cannot happen if you tile first!
Now that the full picture is seen, doesn't it make you wonder why anyone would want to tile after the cabinets are in if they can do it first? it may be that there is a 50/50 'opinion' on this, but half of those people are simply wrong and now you know why!