drawRoundedRectangle

Why does it only take a Rectangle and not a Rectangle?

Because it uses a Path to draw the rectangle and hence can be sub-pixel positioned. You might want to have a read over this post regarding some of the subtleties involved when drawing rectangles.