I think there are times when the GM does need to make an arbitrary decision. Simple examples would be giving a NPC guard a name and some general personal information if/when the PCs suddenly take an interest in talking to that guard. (If you're uncomfortable making a completely arbitrary decision, rolls some dice and consult a chart; I hazard to guess there's probably a chart or random generator for what you need.)
However, I also think there is a line that can be crossed which ruins the game... or at least soils the trust the group has in the GM running the game. As a player, I strongly dislike when a GM arbitrarily changes the rules of the game mid-game. I've played in games where mid-battle, a GM decided something worked differently for seemingly no reason other than he didn't like how it was used against his NPCs and monsters, but, earlier in that same battle, it worked as written when he used it against the players. I personally believe that to be cheating. There are many people who feel a GM cannot cheat; if that's your belief, then I'd say what I just mentioned is, at the very least, a poor practice to employ while GMing.
I think, what I'm trying to get at is that any changes made should be made consistently. Occasionally, I'm ok with a mid-game change if a game produces counter-intuitive results. However, if that change is made, I feel that should be how it works going forward. If a rule is constantly being changed, how am I, as a player, supposed to make decisions in the context of my character when neither I nor my character have a solid idea about how the world around the character works.
When I GM, I do have house rules. However, when possible, I express what they are before the game begins. For example, I've run GURPS 4th Edition games in which I didn't tie Will to IQ; instead of Will being a derived attribute, I made it its own thing. I've also run games in which Signature Gear worked differently.
There are also times when I've had to make a judgement call during a game the rules either didn't cover a situation clearly or I didn't want to bog down the game by flipping through a book during a tense moment. If I can use GURPS as an example again, an example would be when I was first learning the game and didn't fully understand the rules for quick contests yet. A PC and the main villain of a story arc were fighting over the steering wheel of a vehicle during a pretty intense combat. I made a quick judgement call about what the result would be; it's been a while, but I believe I called for a Quick Contest of Driving skill versus whatever it was that I had the PC rolls against. However, I was open about the fact that I was making a judgement call, and that I'd look it up later. (To my credit, and to the credit of the rules system being consistent, I will say that my judgement call was fairly accurate.)
I may be wrong, but I believe a big part of why the people I game with trust me to make calls like that are because I am generally very open and honest with them about what's going on. I very very rarely fudge*; I strongly dislike doing so, and only do so under the most extreme of cases -which I've mentioned in past threads. When I make a judgement call or arbitrary decision, I do so with a mind toward what I believe creates better results from the rules system and group playing the game. If I'm unsure that I made the right call, I find time to discuss it with the group. If I'm put in a situation where (for some reason,) I don't believe I can trust myself to fairly arbitrate something, I either roll dice or ask for outside input. I do my best to do things in a manner I deem fair. While it seems like everyone would do that, it's not the case. I've been a player in games where the GM made very arbitrary decisions; sometimes blatantly favoring a particular player or a particular pet NPC; sometimes wildly fudging results to an extent that I wondered why I even bothered rolling my dice. Thankfully, those experiences have been few and far between, and I haven't had any of them for a really long time.
*Generally, the only time I fudge is if I feel a new player made a decision based on a faulty understanding of the rules or if the group is playing a game we have little experience with and a player makes a decision based on a faulty understanding of the rules. In rarer cases, I have also fudged when a rules system lead to a result which seemed extremely counter-intuitive; such cases usually lead to a house rule because the group feels an aspect of a game doesn't work properly... that happened quite a bit with Rifts because the rules weren't written in a way which was often clear or in a way which really even worked as written. There was also one time when a D&D encounter had been dragging on for a while, and I just handwaved things; switching to an interacting narrative mode in which the players each took turns adding something to the scene to explain how they won the battle. At the point where I did so, it was pretty obvious the players were going to win, and I didn't feel like wasting the rest of the session having them hack away at a bag of HP.
Edit: I think it's perfectly fine for the GM to arbitrarily change parts of a pre-written adventure if he's worried about players who may have read the adventure or players who may be prone to metagaming. However, that sort of thing should be done before the session begins. It's perfectly fine to decide "in my version of the Tomb of Horrors, the trap is here instead of there." It's, in my opinion, bad GMing to decide during gameplay "he chose the untrapped door, but I'm going to say the trap hits him anyway." It may be that the players don't know the difference from their point of view, but I'd still view it as poor GMing. Sitting behind the screen, I'd know; even if they didn't, and I wouldn't feel right about it.