In a medium saucepan, bring the water or broth, milk, and 1/2 teaspoon salt to a boil. Slowly whisk in the grits, reduce the heat to low, and cook, stirring often, until thick and creamy, about 15 to 20 minutes.
Stir in the butter and cheddar cheese, if using. Cover and keep warm over very low heat, adding a splash of milk if needed to loosen the texture.
In a bowl, season the shrimp with smoked paprika, garlic powder, and 1/4 teaspoon black pepper.
Heat the olive oil in a large skillet over medium heat. Add the bacon and cook until crisp, then transfer to a plate, leaving the drippings in the skillet.
Add the onion to the skillet and cook until softened, about 3 to 4 minutes. Stir in the garlic and cook for 30 seconds more.
Add the shrimp and cook until pink and opaque, 2 to 3 minutes per side, depending on size.
Stir in the lemon juice, remaining black pepper, and cooked bacon. Taste and adjust seasoning with salt if needed.
Spoon the grits into bowls, top with the shrimp mixture, and garnish with chopped parsley. Serve immediately.