For discs I use dishwashing liquid, water, and my fingers. I put a few drops on, and then rub the disc in a zigzag pattern between the inside and outer rim of the disc as I slowly rotate it - don't use circular motions, because if there is a larger particle that might cause even a very tiny scratch it's better for the scratch to be perpendicular to the tracks of data on the disc (which run concentrically) so any micro-scratches will influence reading of the disc the least.
For the laser: some people recommend rubbing alcohol and a q-tip (and I've done that before). But I don't know if that's best since I don't know what the lens is made out of or if it has any coatings on it, and rubbing alcohol can dissolve some coatings. You can probably buy a special solution, but without that, water and a q-tip should be fine. Just be careful not to apply too much pressure; the lens is just suspended by tiny, bendy, wire filaments.
Sometimes laser/lens assemblies just go bad though and I don't think there's anything you can do besides replace the laser assembly. Idk which exact part fails or why.