First of all, if you see a question closed as duplicate, then assuming the close is correct, that really shouldn't prevent you participating in the site; just answer the duplicated question rather than the duplicate one. A duplicate mark should only exist if the questions are similar enough that working on one is much the same task as working on the other; they're likely to need the same techniques to solve, have a similar level of difficulty, and the like. (If you think the duplicate questions are different enough that that doesn't apply, you should let somebody know, e.g. by bringing it up in chat, or flagging the post.)
With "unclear what you're asking", the other common sort of closure, the issue here is more of a failure of everyone to get along with each other. Because people are competing for the best possible score, that means cutting every corner they can get away with, and that can sometimes lead to very bizarre interpretations of a question. (I know I've got highly annoyed with some people's interpretation of questions in the past; a question of mine I'm quite fond of had to be closed because a user was persistently trying to claim that the equivalent of fprintf(stderr, "error")
was a run-time error, a definition which seemed maliciously absurd to me.) As such, if a question isn't massively precise, it puts the answerers in a really awkward spot: should they try to force their way into a loophole, or should they carefully not exploit it and let someone who's willing to cut in front of them? Writing Perl, 12 or 11 or 10 bytes and giving a different version of the program for each possible interpretation of the rules is a pain.
As for the more general question, of why the site's taken seriously, it's the same reason that many other recreational games and sports have for taking things seriously: if your opponents aren't trying hard to win, it's much less fun. (This isn't the only recreational site I'm on; another one, which has nothing to do with programming, has a rather strict rule that you must always play to win, as failure to do so would be unfair on both your opponents and team-mates.) The PPCG version of that is a bit different: it's "here's a problem, you can probably solve it, but can you do better?". The best challenges here are the ones that have almost unlimited scope for continuously improving. (Oddly, those tend not to be pure code-golf; with that, it's sometimes but not always obvious that an answer can't reasonably be improved whilst staying within its parameters for language, algorithm, unused loopholes, and the like.)
If your problem is simply that you feel you can't compete because other programmers are better than you, there are a few solutions there. For example, you can learn (or invent!) an obscure language to compete in, and thus have fewer competitors. Or perhaps you can pick a language you know well, and try to learn golfing techniques; after a while you start to be able to at least tie the best competitors on simpler problems, and then maybe win occasionally when you have an insight nobody else does.
Note that it's entirely possible to compete "privately", without posting the answer; I've lost count of the number of times I've seen a problem, instantly come up with an algorithm for solving it in Jelly, then scrolled down to find that someone else had already posted the answer before I saw the question (this also happens with Brachylog too sometimes, but it's less popular so it happens less often). That's disheartening, but it's also encouraging, because it means that at least I wasn't outgolfed by anything other than the timestamp, and that my skills are probably up to scratch.
Anyway, if you find the fun is in solving the problems, rather than solving the problems with an optimized score, you're likely to have more fun elsewhere; PPCG isn't too friendly to non-serious contenders, as that's not really what the site is for (and it'd mean that people who did want to compete would have a hard time figuring out what answers they should pay attention to to compete against). If you find the fun is in optimizing the score, though, it serves its function fairly well (despite the fact that it's hosted on Stack Exchange, which is almost completely the wrong backend software to be powering the sort of frontend we'd ideally want).