Special B and CaraPils are as different as night and day, so it's going to be hard to compare them directly.
Special B is a very dark Crystal Malt (about 140-150L), typically Belgian in origin, which is used to add flavors like: very dark caramel, raisin, or plum. It is the specialty grain that makes Belgian Amber Abbey Ales taste a bit raisin-like, and Dubbels taste pruny. It does give a bit of increased body because it's a crystal malt, but not much, because you typically never use more than 8-10oz of it. I use it often in levels around 4oz and enjoy it in Dunkelweizens especially.
CaraPils is a pale crystal malt (10L) used to add body and head retention to very pale beers with little to no color or flavor adjustment. You can use as much as a full pound on a pale, otherwise thin beer, but I wouldn't go much over that unless you want a chewy beer. Often times, all grain brewers will lower the amount of CaraPils in a recipe and just mash higher. When using CaraPils in conjunction with other Crystal Malts, don't forget that CaraPils is a type of Crystal on its own, so don't go too heavy on either if you use both (unless your intention is for a thick, rich beer).