Nice write-up. However, I disagree on few points:
1) As you mentioned, the website has defined what WL and RAC means. Why does a traveling passenger need to know whether it is GNWL or RLWL or PQWL? As long as it ends with WL, people know that they are in Wait List. Coming to GNWL15/RAC94, we read from left to right. As it ends with RAC, it means we are in RAC currently. What is so confusing about it?
2) Of course, the site can automatically figure out if the person is a...
more... senior citizen or not based on age. But wait. Why do we need to force concession to everyone? A well-off senior citizen may not wish to get that concession, after all, Railways is giving concession even after it is under huge financial crisis! Is it daunting to ask to click a checkbox to get 50% discount? Now there may be suggestions that at least the checkbox should be checked by default and those who don't want concession may uncheck it. But that's wrong on two accounts. People should know that they are getting a concession. Checking that checkbox helps them realize it. And those who don't want concession are helping railways, so at least they should have one task reduced ;)
3) On the seat selection, Mr. Abhishek has explained it very well. It is run on the very complex algorithm that balances the load, not in one coach but whole train. There may be points that anyway train will run full why to worry about such complex algorithms while booking? This is not true for all the trains, there are hundreds of trains which do not run to capacity. Double Deckers are a classic example. Premier trains like Rajdhani, Shatabdi and Duronto joined the list after dynamic fares were introduced. And there are many others which don't run full for various reasons. Now it is impossible to have different algorithms for different trains. Hence it is not feasible to allow seat selection by passengers.
4) "Transaction failed" is complete in itself. It clearly tells that the action we were trying to perform did not go through, for whatever reason. Is this really required to see “transaction canceled by the user because IRCTC did not grant user’s request” on the screen? Does it trigger satisfaction/happiness to see that message? After all, these are just wordings. If the customer really feels happy to see such wordings, then IRCTC can change it during maintenance time between 11:30 pm and 12:15 am! However, if we really look at it technically, then it is "user problem" itself. It was the user who selected "No" and aborted the transaction. Had he said "Yes" when IRCTC showed a prompt that the preferred seat is not available, the transaction would have completed successfully!
5) "Failed Transactions" automatically triggers "Refund" module. It is treated and processed on par with ticket cancellation transaction. Money is always credited back to the account. I never ever had to write to IRCTC for a refund, and follow up with IRCTC or Bank never really happened.
6) Comparing IRCTC with VRL, KSRTC, Redbus?? The sheer magnitude of Railway users outnumber all others together. The number of transactions happening in IRCTC is too huge to be compared even with Flipkart of Amazon India. Last year IRCTC emerged as No 1 e-commerce site in India.
Having said all that, IRCTC does need improvement but it is not as bad as it is shown to be.