Can SPI and I2C be implemented using GPIO pins?
Sometimes you can bit-bang these interfaces but it will take more resources and may not work on all cases. For example, SPI master can easily be bit-banged but SPI slave at 10MHz is probably impossible on a slow micro, and even at much lower speeds you would likely have to block interrupts.  

The specified pins are connected to dedicated hardware inside which makes it easier to use and it generally will work better, faster and will use less resources. For example, you can be off doing something else whilst the bus is sending or receiving data. 

Read the MCU datasheet to see which pins are used and if there are an alternates available.