Carpet company wants to charge me for the waste they will have left over. Is this normal?
It's totally normal. Carpet comes on rolls in widths from 11'6" to 13'. They need to cut off a chunk of that roll to fit the room. 

It's the reason why if you're carpeting a 10x10' room, you can't buy 100sqft of carpet: they'll charge you for more like 120sqft (12' roll, 10' long). 

It also depends on the layout of the room, and where they put seams (if necessary). Eg: an L-shaped room has a couple different ways to lay out the carpet, and depending the layout and where the seams are, you'll use a different amount.

A good installer will also consider traffic: if there are seams, you don't want them right in front of a door way, or preferably not running down the middle of a high traffic pathway. I think they also avoid putting seams within a foot or so of walls (so there isn't a narrow strip of carpet running along the wall). All of these things may end up using more carpet than a layout optimized just to minimize scrap, but will result in a much better looking and longer lasting install.

The other factor is in patterned carpets, they will use a bit more since the patterns need to line up. The bigger the pattern, the more is scrap needed to keep it in line.



The important bit is to keep the scrap carpet, unless you really don't need it, since you 
paid for it. Often there is a good size chunk, which can be used for many things:


Large door mat
In front of fire places 
Padding for moving/storage 
Google has many more