how can anything be possible in one turing complete language but not at all possible in another?
Granted many languages simply move this kind of work to external C dependencies and such. However this doesn't address the other kinds of language extension such as idiomatic ad-hoc type systems and predicate dispatch I mentioned.
Why shouldn't our programming languages capture these heterogenous use cases comfortably?
So, in a literal sense, it can be impossible to do X in A and possible to do X in B, even though A and B are Turing complete.
"quite difficult or simply impossible to express"
i thought i was about to learn something interesting about the reducibility of languages.
Rephrase that as 'only possible if you write a Lisp implementation in that language' and you'll have the right idea.
It's also quite difficult in my experience to explore and implement more sophisticated and powerful OO and FP concepts like predicate dispatch (think CLOS generic methods or ML pattern matching but more useful) or ad-hoc type systems in these languages - especially when your goal is to produce something that is not a toy. Or think about embedding an efficient logic programming DSL a la Paradigms of Artificial Intelligence.
Of course for various reasons, that this kind of flexibility and power can be applied to real software development might not interest you. But it is why I find Lisp compelling.