When including row names, `write.csv` writes the column name line prefixed with a comma to indicate that row names are present. However, `write.table` with `sep=','` does not output this initial comma. I'd guess that most folks would expect these two calls to produce the same output. The behavior of `write.csv` seems the most appropriate.
sample.data <- data.frame(a=1:5, b=letters[1:5])
temp1 <- tempfile()
write.csv(sample.data, temp1, quote=FALSE)
# note the first character is a comma
write.table(sample.data, temp1, sep=',', quote=FALSE)
# note that the initial comma from the previous example isn't present