In this paper, we investigate the fundamentals of puncturing and shortening for polar codes, based on binary domination which plays a key role in polar code construction. We first prove that the orders of encoder input bits to be made incapable (by puncturing) or to be shortened are governed by binary domination. In particular, we show that binary domination completely determines incapable or shortened bit patterns for polar codes, and that all the possible incapable or shortened bit patterns can be identified. We then present the patterns of the corresponding encoder output bits to be punctured or fixed, when the incapable or shortened bits are given. We also demonstrate that the order and the pattern of puncturing and shortening for polar codes can be aligned. In the previous work on the rate matching for polar codes, puncturing of encoder output bits begins from a low-indexed bit, while shortening starts from a high-indexed bit. Unlike such a conventional approach, we show that encoder output bits can be punctured from high-indexed bits, while keeping the incapable bit pattern exactly the same. This makes it possible to design a unified circular-buffer rate matching (CB-RM) scheme that includes puncturing, shortening, and repetition.