Well, I've never used OProfile myself, so please take this answer with a grain of salt, but from a quick perusal of their website, and as the project's name seems to suggest, OProfile is a sampling profiler, which usually means it will collect data from counters at given intervals of time, producing a number of statistics over time. This generally implies a somewhat significant overhead, and consequent performance drop.
LTTng, on the other hand, is a tracer, which means it collects events from the kernel (using the built-in tracepoint facilities) as they happen. It's also possible to trace userspace apps (with lttng-ust), or define your own tracepoints. This has the benefit of being much more detailed, and also has a much smaller overhead.
You might be interested in reading the "What is Tracing?" section of the lttng docs [0], which does a far better job at explaining this than I do.
oprofile has been abandoned, and no longer works on recent distributions. 'perf', I think, is the usual replacement, though the tooling is not as nice.