First off, let me start by saying: There is nothing wrong with Carriers.
Though they haven't seen the same revival that Battle Cruisers have under Terran, Carriers remain a very viable late game unit. Even in a world of "Hard Counters" Carriers do an enormous amount of damage and require very micro to beat. For players invested in heavy ground forces Carriers make a very nice addition and force an opponent to "split" his strategy between disparate units. While many people might point out the effectiveness of Vikings, Void Rays and Corruptors against Carriers, you have to keep in mind: All those units are effective against Colossus and those still make many appearances.
The largest problem with Carriers is they are often overshadowed by Void Rays. Void Rays are a very powerful unit against Armored and once charged. By comparison Carriers have neither of those drawbacks and are only more expensive. Finally, while many people will tell you that Carriers are countered by good micro, this is also true for EVERY OTHER UNIT IN THE GAME. The only difference is that Carriers are more effective against bad micro.
Now you discussed Carrier Rushes, and what I am about to say could apply to any type of rush: A Rush is not necessarily a Cheese. You should not use the term Rush pejoratively.
Technically going 2 Gate is a kind of rush. A rush just means quickly getting to something, and is frequently used as a technique to counter more Macro intensive play. Since many players play a Macro intensive play, a rush is a very good strategy. The trap your friend is falling into is that he is surprised by the sudden force and is using the term rush to dismiss it.
"Oh you didn't really work for that, you just rushed it."
This is actually a mistake in terminology. What he means to say is: you're doing an all in gamble on Carriers and if they failed you'd be screwed.
All in play is often considered boarder line cheesy because you are often unable to recover. However, since the goal is to do more damage to your opponent than you are doing to yourself, a very good timing all in, is an incredible effective strategy. Since an all in does not rely on lucky or bad play from your opponent, it is not nearly as cheesy as something like a proxy Rax. As a result, most All Ins are more moves of desperation than cheese.
Whether or not you consider All In play to be cheesy, a Rush is not by definition a cheese and you shouldn't feel bad about it. Even if you had Rushed Carriers (which it sounds you hadn't), that would be an interesting new build, not some sort of gambit play. So build them at your leisure.
And do try to enjoy yourself while playing Starcraft 2.