By Good God! Bernadotte was a traitor beyond belief. Not only was he incapable of fulfilling orders, sometimes he deliberately sabotaged battle plans. Napoleon didn't have him executed for the simple reason that Bernadotte was married to Desiree, Napoleon's young love. Napoleon thought, by accepting Bernadotte's movement to the Kingdom of Sweden would neutralise a northern threat as well as remove and incompetent and somewhat corrupt marshal. This man had been conspiring with the Jacobites, Fouche and Talleyrand to oust Napoleon from power. The treachery of the man can be easily seen in his siding with the Russians in the retreating campaign of 1813.
Furthermore, Bernadotte (like Murat) constantly complained to Napoleon about not having enough prestige or power in his empire. As they were married to people close to Napoleon (Desiree: young lover; Caroline: Napoleon's sister), they would constantly get away with, what otherwise would have been considered, treachery.