I'll just focus on the "rudeness" part.
If you ever go looking for a new doctor and read the reviews from patients, you'll find that a lot of the comments are about rudeness; the doctor was brusque, poor bedside manner, etc. For some people, pleasantness in a doctor is critical. But when you have a real problem, you realize that what is actually important is competence. You want to go to a doctor who will be best at fixing your problem. The best doctors tend to be in demand and busy, so they tend to be brusque. They also tend to have a stronger focus on the medical aspect than the interpersonal relationship with the patient.
Super User isn't a tech support company, where answers are provided by employees who work in an office with a big sign that says, "Always remember, our customers are our most important product". Answers come from volunteers, most of whom are busy people. They fit helping people and moderating the site into their other demands.
Yes, the Stack Exchange has a "be nice" policy. We try to have a welcoming environment and avoid overt nastiness. But at the end of the day, it's a collection of busy people trying to solve other people's problems and keep up the quality of the site.
Part of the "job" is dealing with people who aren't good "customers". They come to the site not realizing that the objective is to build a knowledge base. Yes, they may get their question answered, but the actual goal is to add good questions and answers to the knowledge base to help all of the other people with a similar problem, it isn't to provide free personal consultation. That's a luxury we offer when we can.
Such users often don't think about what role they need to play in getting an answer. To some visitors, fixing computer problems means having remote clairvoyant magicians divine what's wrong, and hand them a fix based on whatever trivial information is shared in a rant, posted with no effort on their part to do any preliminary research, or even type coherent sentences in the question, which is their price of admission.
Of course not all questions are that bad, but a high percentage would at least benefit from improvement, and are part of a stream of questions that includes generous amounts of examples like that. It can be trying and frustrating, especially for people who want to contribute their limited time helping the most people they can.
Add to that canned comments for common issues that tend to be short and to the point. It's an environment that we try to make an efficient process, but can sometimes seem less than friendly.
The primary objective isn't to have a friendly forum at which to hangout and chat. People come to the site with a problem to solve, and come here because this is where they can get competent help. If people want a solution to their problem, to some extent, they need to deal with the environment that exists here.
We periodically remind users to be nice, but the site is a collection of people. The people who volunteer their time to help with computer problems tend to share some personality traits that focus more on technical issues than people pleasing.
The site doesn't have an "attitude". People with a certain personality and mindset gravitate here to provide support. If you want the best "doctors" to solve your problem, it may involve a little poor bedside manner. People who find that environment disinviting may feel more comfortable getting their problems solved in another venue. If they choose to go somewhere else, more power to them for finding an environment they find more conducive.
I'm not saying we shouldn't always try our best to be nice, and we shouldn't just tell dissatisfied users to go screw themselves and find help somewhere else if they don't like it here. The environment here reflects the personalities of the users providing the help, and that's inherent in the experience. It's important for users to understand that and have realistic expectations.