Product photos with white background are not easily adapted to dark background.Typical harmful situations:
- the image has already gone through one background removal, someone has inserted the new white background and maybe some blur to fade his not so perfect work
- there's an original or inserted shadow
- the photo is shot by having good light also on the bottom edge - that's needed to prevent it look dirty against white background. One can get it quite easily if he has good lights, white background and also white floor. Bright bottom is not plausible against dark background.
- the resolution is already dropped down for web applications, there's not enough room to remove the edge pixels where the object and white are mixed due anti-aliasing or unsharpness
- transparent areas such as glass and liquids
- bad photo - too dark areas, noise, blown light areas, unsharp, noise, lens flares, etc...
I skip attempts to fix a bad photo. Here's an older case where the problems were low contrast and noise: Removing the background from product photos
Bad photo is avoided by having a photographer who knows what to do and has proper tools for the task. If he knows that the image will be used against dark background he can avoid making it look like it's shot against white background.
Transparency is discussed in other old cases. An example: Photoshop: How to make shadow more realistic
The next image has the rest of the problems
It doesn't look especially bad with its white background, but closer look shows how unsharp it is. There's just as much resolution as watching it on the screen without zooming in needs. No matter how the background is selected and removed there will be either well visible white stripes at the edges or also pixels of the images will be deleted and the edges will look jaggy.
This is how far you get by applying only blending, in this case Photoshop's layer blending sliders:
The shadow spoils the job. The shadow is darker than the lightest part of the dark stand of the chair. In addition blending gives no way to remove the light edge stripes where the white BG and the object are mixed in the image. You must make a selection to remove or replace the unwanted.
Using the magic wand with tolerance =5 and inserting the shadow to the selection by holding shift and clicking several times gives this after the deletion:
At light edges pieces of the object are clearly missing and dark edges have light stripes.
Photoshop's quick selection tool makes a better selection. The tool is quite clever and it can be teached by inserting and subtracting in turns at both sides of the wanted edge. But there's still light stripes at the darkest edges because the object and the white background were mixed. In addition the quick selection tool leaves sharp intern corners unselected. In those corners you see several white pixels:
The white inside the corners must be clipped manually. In theory you could shave out manually all mixed zones like in the next image:
Actually only the sharp corners need fully manual treatment. The rest of the shaving could be made by expanding the background removal selection. But due the low resolution that will remove a wide slice of the object, too, so I delete manually only the whites in sharp corners:
The light stripes can be fixed by repainting them. One can make a selection which covers the object. The selection is fuzzy due the antialiased edges made by previous selections & deletions.
Make the selection by clicking the object layer icon in the Layers panel. The marching ants line is the 50% opacity border:
In the next image the edge stripes of the left half of the image are fixed by cloning darker color over the edges:
There was reflected or directed also light to the bottom which is not plausible against dark background. It's fixed (left half only) at the same time.
Something less tiresome:
I guess manual painting over fuzzy edge pixels sounds not so pleasant, no matter it's only cloning, not actual painting. There's no need to do it if you can accept brightly lit bottom:
There's zero local manual edits. The image resolution is lifted to 400% with Smilla Enlargener (=freeware) That program guesses remarkably well where is a sharp border that shouldn't be made wider in the scaling process. One commercial alternative for it is ON1 Resize which works well as Photoshop Plugin. That's handy but otherwise ON1 Resize isn't substantially better.
White is selected with the quick selection tool, the selection is expanded one pixel (Select > Modify > Expand > 1px) and DEL is pressed. When watched in original size the white stripes are nearly invisible.
Another way to avoid manual edge painting without lifting the resolution is to insert layer style Inner Glow. That unfortunately works only if the object has single color. Otherwise differently colored parts must be treated in different layers.
The next old case reveals still one more way to treat the edge color problem: Halo around coloured glass bottle
ADD after the "problematic" image was shown in the question:
The image looks a high quality shot, just what one should expect from professionals. Assuming your version is say 1500 pixels high or more I can say that there's nothing problematic I described above.
Select the white area with the quick selection tool and press DEL.
With extreme zoom in you may see that the 1px wide antialiasing zone contains remnants of white. If that disturbs you Undo DEL, Reselect and goto Select > Modify > Expand > 1px and press DEL.
The edge will be this clean:
And that's that.