As the article Misc: What is KARMA? states, it can be difficult to describe KARMA as a whole because it is something completely unique in the world of keyboard music. It's not really an arpeggiator, or an arranger, or a sequencer. It's not really a phrase generator either. All of these things are somewhat static in nature, relying in one way or another on pre-recorded phrases that are essentially played back "as recorded".
KARMA, by contrast, is very dynamic in nature. Not only can KARMA play very dynamic, changing, and musically randomized phrases, but you can exert a large degree of real-time control over what KARMA is doing. To put it another way, KARMA by itself is very dynamic, and through your own real-time control you can make it even more dynamic. Also, KARMA can generate phrases (certain notes in a certain rhythm), but on top of its generated phrases it can also add many different dynamic MIDI-based effects and wavesequencing.
This is why the heart of KARMA revolves around a concept called a Generated Effect (GE), which is essentially a very dynamic phrase generator that also includes dynamic MIDI-based effects and which enables a large degree of real-time control over the what's being generated.
In many cases, a GE can be thought of as being a "backing musician" who will listen to some basic guidelines about how to accompany you, but within the framework of those basic guidelines, they are free to make a lot of their own decisions about how to improvise what they're playing.
The key to understanding how to program a GE (or to just understand what any of those 2000+ GEs that are preloaded into your workstation model are doing) is to focus on the word "guidelines". While you can program KARMA to play an exact static phrase exactly the way you want it, in many instances the factory GEs have been created to take advantage of the improvisational aspects of KARMA, where you cannot expect to dictate an exact phrase to the KARMA GE, any more than you can dictate an exact phrase to a human musician. It's only natural for a human to vary what you tell them to play every time they play it.
When you go one step further and stitch this GE into a Performance — which means "a program or combi that uses one or more GEs and has a specific set of real-time control (RTC) sliders, switches, and starting scenes" - you can use those sliders, switches, and scene buttons to nudge all the GEs in the Performance in a new direction by giving them some new guidelines, but the GEs in many cases still get to make their own decisions about what to perform within those new guidelines.
Typical arpeggiators, arranger sections, and phrase generators can only do exactly what you tell them to do. KARMA can be programmed to act this way, of course, but it generally isn't, because its strengths lie in being able to sound more "human". Instead, in many Performances, you steer KARMA in the general direction you want it to go and then sit back and enjoy the scenery. If you keep this metaphor in mind when you're programming a GE, you'll have a much easier time figuring out how to "explain to the GE" how you want it to accompany you. Likewise, when you're programming the Master Layer and Scenes of a Performance, this metaphor will help you figure out how to tell the entire Performance to accompany you.