Alcaras has a passionate article on raid lockouts and arena charters in World of Warcraft, features which he accuses of making it harder to play together. Raid lockouts certainly caused a lot of problems in the Burning Crusade, when guilds started raiding Karazhan in two or more groups of ten, and on the next days were stuck with two half raids they couldn't combine. While raiding itself is in no way trivial, the challenges of beating raid bosses do in no way explain why the raiding population is so small. The main problem that keeps many people from raiding is a logistical one.
Nevertheless I don't agree with Alcaras that Blizzard put raid lockouts into the game only to "Prevent people from getting loot too quickly and burning out of the game". Raid lockouts are based on a simple design problem of instances in a persistent world: If a mixed group enter a raid dungeon, whose members range from people who haven't been there at all that week to people who already nearly cleared the place since the last reset, then how should the instance look to them? Should the instance reset to all mobs being alive, or should the players who advanced furthest determine which bosses are already dead? It is easy to see that there is no good answer to that question. Whatever solution you implement, somebody will be unhappy. Some raids would like to be able to beat the first and easiest boss repeatedly each week for maximum loot farming, other raids would prefer to get as far as possible.
Forcing people to stay in the same raid group for several evenings certainly has its disadvantages. But on the other hand it makes some of the social problems of raiding easier to solve, namely loot distribution. Raids by their very nature give out a small number of very good rewards. Thus some raid members get nothing, while others hit the jackpot. This inevitably causes tensions, which guilds try to fix with all sort of DKP systems or other loot distribution schemes. But all these rely on "you help me today, I help you tomorrow", which depends on more or less the same group of people going raiding tomorrow. A system without raid lockouts which would make pickup raids far more feasible would have serious problems with trust. Trust is already the main issue when forming pickup groups of just 5 people, everybody fears ninja looters or players not pulling their weight. Raid lockouts hold raid groups together, and by raiding together repeatedly build trust.
If you want people to be able to raid together without raid lockouts, you need to completely redesign raiding. You need to split up a raid dungeon into several wings, which can be visited separately, finished in 2 to 4 hours, and which reset every day. And then the boss mobs should not drop epics, but give every participant some sort of token, a number of which can be exchanged for tokens. Harder bosses could either give more tokens, or a different kind of token for better rewards.
But for the social structure of a game like World of Warcraft such a changed raiding system would be a blow. We already have a game in which people solo more than they group. Removing the need for guild organization to participate in raiding effectively removes the need for having guilds in the first place. WoW doesn't have any other guild projects, like the player-built and controlled cities of SWG, or building pyramids together in ATITD. Alcaras wants people to play together more easily, but removing all restrictions like raid lockouts also makes people more fungible, easy to be exchanged and replaced. That helps your group or raid right now, but isn't necessarily the best solution for the long term. There must be incentives not only for playing together one evening, but for staying together and making compromises for each others needs.