"Sucky" isn't very descriptive, but I wouldn't blame somebody used to a more advanced or coherent language for feeling frustrated with Objective-C. It is a backwards language in many ways, and I say that as somebody who's been writing it for the better part of a decade.
It doesn't even have namespaces — something that has been standard in every language since the '90s. Instead, you must stick a two- or three-character prefix on all your class and function names (some people even recommend prefixing method names) and hope that nobody else happened to pick the same two or three characters for theirs.
For another example, it has a strongly dynamic OO model, but a singularly unhelpful static type system that is shackled with C compatibility, leaving the language in this awkward limbo between static and dynamic, where you're offered all these tantalizing paths that turn out to be blocked by walls.
Yet another: It has monkey-patching like Ruby, but it lacks the language or library support to do it anywhere near as cleanly (which is saying something if you know how messy Ruby monkey patches can be), to the point where some parts are almost necessary and others are almost unusable and it's not obvious at first where the pitfalls lie.
(On the other hand, a lot of people hate Objective-C for pretty bad reasons too. There seems to be a legion of PHP converts who really want to write PHP in Objective-C.)