I use different ways depending on what I need. To keep track of what row I'm on in my pattern I often use removable highlighter tape. I just move it down as I change rows and replace when necessary.
Sometimes I use a hash marks to keep track of a certain number of rows. Like if a pattern says to knit 6 rows I make marks ///
On the knitting itself I use markers to separate pattern repeats. I also use linked markers to keep track of rows in between something like cables.