If it's a relatively new install, then windows can take quite a while to get it's house in order in the background processes. It'll churn it's indexing processes as low priority during idle time.
I recently used a command line instruction to tell me what processes were preventing sleep occurring. For me it was an ms installer process. I'll try and dig it out and see if there is similar for HDD.
In terms of spin down versus keep spinning, it certainly used to be the case that the spin up process put the most amount of strain on a drive and drew the most energy ... So I tend to set a shutdown time of about 20 to 30 minutes. Certainly not 5 mins or anything like that imho.