Overall, steam cleaning your carpet is a lot more effective than shampooing. In case the stains are not too old or your carpet is not big in size, steam cleaning will be good. However, in case you have to clean a large carpet surface or a carpet that has major stains on it, you should try shampooing.