So if they had put in some invisible walls all over the place, it would have been a better game?
In a manner of speaking, yes. If the game had presented itself as a linear shooter, player's expectations would have been completely different so there wouldn't have been any disappointment as to the lack of side-missions.
Notions of quality are determined by expectations and the meeting (or exceeding) thereof. Mafia 2 did not meet the expectations set by providing an open world.
Keep in mind that this isn't a criticism of the game or anyone's opinions. It is simply an explanation of why Mafia 2 was received the way it was. I enjoyed the game, as did others, but I understand perfectly well why other people did not.