Heat a large skillet. Add the bacon and cook over medium heat, just until crisp. Remove and se aside on paper towels to drain. Crumble and keep warm.
Add the onion to the bacon drippings. (If there isn’t a lot you can add a small splash of oil.) Cook, stirring, until it begins to soften and caramelise a bit. Add the garlic. Cook, stirring, just until very fragrant.
Add the cabbage and carrot, if using. Cook, tossing and stirring over medium heat, until the cabbage begins to soften. Season to taste with salt and pepper. Add the water and cover tightly.
Cook and steam over low heat until the cabbage has softened. Stir in the crumbled bacon. Taste and adjust seasoning as required. If desired stir in the butter.
Serve hot.